aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGergely Risko <gergely+context@risko.hu>2009-11-18 14:24:12 +0200
committerGergely Risko <gergely+context@risko.hu>2009-11-18 14:24:12 +0200
commit183153db73c62604c3e550fc37fbe06c3e62c94c (patch)
tree6fa05cab3023be8c528c69654eead8c267798384
parent6907d823a4517ae12708dd74fd1d7fc5f4117679 (diff)
Prepare for distributionerrge_0.5.0.99
-rw-r--r--.gitignore47
-rw-r--r--Makefile.in780
-rw-r--r--aclocal.m41324
-rw-r--r--common/Makefile.in513
-rwxr-xr-xconfig.guess1561
-rwxr-xr-xconfig.sub1686
-rwxr-xr-xconfigure18835
-rwxr-xr-xdepcomp630
-rw-r--r--doc/.gitignore16
-rw-r--r--doc/Makefile.in465
-rw-r--r--doc/context-arch.html1185
-rw-r--r--doc/context-intro.html502
-rw-r--r--doc/context-providers.html617
-rw-r--r--doc/context-types.html1140
-rw-r--r--doc/fig3.pngbin0 -> 19341 bytes
-rw-r--r--doc/fig4.pngbin0 -> 50303 bytes
-rw-r--r--doc/use-cases.html1183
-rwxr-xr-xinstall-sh520
-rw-r--r--libcontextprovider/.gitignore8
-rw-r--r--libcontextprovider/Makefile.in673
-rw-r--r--libcontextprovider/context-provide/.gitignore1
-rw-r--r--libcontextprovider/context-provide/Makefile.in689
-rw-r--r--libcontextprovider/customer-tests/Makefile.in668
-rw-r--r--libcontextprovider/customer-tests/c-api/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/c-api/Makefile.in569
-rw-r--r--libcontextprovider/customer-tests/client/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/client/Makefile.in589
-rw-r--r--libcontextprovider/customer-tests/service/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/service/Makefile.in596
-rw-r--r--libcontextprovider/customer-tests/subscription/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/subscription/Makefile.in604
-rw-r--r--libcontextprovider/customer-tests/types/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/types/Makefile.in598
-rw-r--r--libcontextprovider/customer-tests/value-changes/.gitignore1
-rw-r--r--libcontextprovider/customer-tests/value-changes/Makefile.in598
-rw-r--r--libcontextprovider/doc/.gitignore2
-rw-r--r--libcontextprovider/doc/Makefile.in417
-rw-r--r--libcontextprovider/doc/html/_context_provider.html39
-rw-r--r--libcontextprovider/doc/html/annotated.html51
-rw-r--r--libcontextprovider/doc/html/capi.html55
-rw-r--r--libcontextprovider/doc/html/class_context_feature-members.html39
-rw-r--r--libcontextprovider/doc/html/class_context_feature.html102
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group-members.html46
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group.html259
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group_listener-members.html40
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_group_listener.html118
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_listener-members.html39
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_listener.html106
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property-members.html47
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property.html302
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor-members.html44
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor.html254
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_listener-members.html41
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_listener.html134
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_private-members.html47
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_property_private.html291
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service-members.html49
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service.html403
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service_backend-members.html53
-rw-r--r--libcontextprovider/doc/html/class_context_provider_1_1_service_backend.html436
-rw-r--r--libcontextprovider/doc/html/class_context_real_logger-members.html54
-rw-r--r--libcontextprovider/doc/html/class_context_real_logger.html399
-rw-r--r--libcontextprovider/doc/html/class_context_zero_logger-members.html39
-rw-r--r--libcontextprovider/doc/html/class_context_zero_logger.html100
-rw-r--r--libcontextprovider/doc/html/classes.html44
-rw-r--r--libcontextprovider/doc/html/context__provider_8h.html39
-rw-r--r--libcontextprovider/doc/html/context__provider_8h_source.html59
-rw-r--r--libcontextprovider/doc/html/contextc_8cpp.html410
-rw-r--r--libcontextprovider/doc/html/contextc_8h.html347
-rw-r--r--libcontextprovider/doc/html/contextc_8h_source.html104
-rw-r--r--libcontextprovider/doc/html/doxygen.css498
-rw-r--r--libcontextprovider/doc/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--libcontextprovider/doc/html/files.html58
-rw-r--r--libcontextprovider/doc/html/functions.html358
-rw-r--r--libcontextprovider/doc/html/functions_func.html285
-rw-r--r--libcontextprovider/doc/html/functions_rela.html62
-rw-r--r--libcontextprovider/doc/html/functions_vars.html94
-rw-r--r--libcontextprovider/doc/html/globals.html210
-rw-r--r--libcontextprovider/doc/html/globals_defs.html111
-rw-r--r--libcontextprovider/doc/html/globals_func.html84
-rw-r--r--libcontextprovider/doc/html/globals_type.html48
-rw-r--r--libcontextprovider/doc/html/globals_vars.html60
-rw-r--r--libcontextprovider/doc/html/group_8cpp.html46
-rw-r--r--libcontextprovider/doc/html/group_8h.html46
-rw-r--r--libcontextprovider/doc/html/group_8h_source.html102
-rw-r--r--libcontextprovider/doc/html/hierarchy.html53
-rw-r--r--libcontextprovider/doc/html/index.html66
-rw-r--r--libcontextprovider/doc/html/listeners_8cpp.html40
-rw-r--r--libcontextprovider/doc/html/listeners_8h.html51
-rw-r--r--libcontextprovider/doc/html/listeners_8h_source.html123
-rw-r--r--libcontextprovider/doc/html/logging.html85
-rw-r--r--libcontextprovider/doc/html/logging_8cpp.html42
-rw-r--r--libcontextprovider/doc/html/logging_8h.html218
-rw-r--r--libcontextprovider/doc/html/logging_8h_source.html164
-rw-r--r--libcontextprovider/doc/html/loggingfeatures_8h.html194
-rw-r--r--libcontextprovider/doc/html/loggingfeatures_8h_source.html69
-rw-r--r--libcontextprovider/doc/html/namespace_context_provider.html52
-rw-r--r--libcontextprovider/doc/html/namespaces.html36
-rw-r--r--libcontextprovider/doc/html/pages.html34
-rw-r--r--libcontextprovider/doc/html/property_8cpp.html46
-rw-r--r--libcontextprovider/doc/html/property_8h.html49
-rw-r--r--libcontextprovider/doc/html/property_8h_source.html99
-rw-r--r--libcontextprovider/doc/html/propertyadaptor_8cpp.html43
-rw-r--r--libcontextprovider/doc/html/propertyadaptor_8h.html65
-rw-r--r--libcontextprovider/doc/html/propertyadaptor_8h_source.html100
-rw-r--r--libcontextprovider/doc/html/propertyprivate_8cpp.html60
-rw-r--r--libcontextprovider/doc/html/propertyprivate_8h.html47
-rw-r--r--libcontextprovider/doc/html/propertyprivate_8h_source.html107
-rw-r--r--libcontextprovider/doc/html/sconnect_8h.html88
-rw-r--r--libcontextprovider/doc/html/sconnect_8h_source.html71
-rw-r--r--libcontextprovider/doc/html/service_8cpp.html45
-rw-r--r--libcontextprovider/doc/html/service_8h.html49
-rw-r--r--libcontextprovider/doc/html/service_8h_source.html99
-rw-r--r--libcontextprovider/doc/html/servicebackend_8cpp.html45
-rw-r--r--libcontextprovider/doc/html/servicebackend_8h.html50
-rw-r--r--libcontextprovider/doc/html/servicebackend_8h_source.html119
-rw-r--r--libcontextprovider/doc/html/struct_context_provider_1_1_group_private-members.html39
-rw-r--r--libcontextprovider/doc/html/struct_context_provider_1_1_group_private.html75
-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/src/Makefile.in693
-rw-r--r--libcontextprovider/unit-tests/.gitignore1
-rw-r--r--libcontextprovider/unit-tests/Makefile.in633
-rw-r--r--libcontextprovider/unit-tests/contextc/.gitignore11
-rw-r--r--libcontextprovider/unit-tests/contextc/Makefile.in738
-rw-r--r--libcontextprovider/unit-tests/contextgroup/.gitignore9
-rw-r--r--libcontextprovider/unit-tests/contextgroup/Makefile.in737
-rw-r--r--libcontextprovider/unit-tests/property/.gitignore7
-rw-r--r--libcontextprovider/unit-tests/property/Makefile.in738
-rw-r--r--libcontextprovider/unit-tests/service/.gitignore7
-rw-r--r--libcontextprovider/unit-tests/service/Makefile.in737
-rw-r--r--libcontextprovider/unit-tests/servicebackend/.gitignore5
-rw-r--r--libcontextprovider/unit-tests/servicebackend/Makefile.in737
-rw-r--r--libcontextsubscriber/.gitignore52
-rw-r--r--libcontextsubscriber/Makefile.in673
-rw-r--r--libcontextsubscriber/cli/Makefile.in605
-rw-r--r--libcontextsubscriber/cls/Makefile.in561
-rw-r--r--libcontextsubscriber/customer-tests/Makefile.in673
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/Makefile.in606
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin1/.gitignore2
-rw-r--r--libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile.in629
-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.in629
-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.in406
-rw-r--r--libcontextsubscriber/doc/Makefile.in417
-rw-r--r--libcontextsubscriber/doc/html/annotated.html72
-rw-r--r--libcontextsubscriber/doc/html/assoctree_8cpp.html38
-rw-r--r--libcontextsubscriber/doc/html/assoctree_8h.html45
-rw-r--r--libcontextsubscriber/doc/html/assoctree_8h_source.html109
-rw-r--r--libcontextsubscriber/doc/html/asyncdbusinterface_8cpp.html40
-rw-r--r--libcontextsubscriber/doc/html/asyncdbusinterface_8h.html42
-rw-r--r--libcontextsubscriber/doc/html/asyncdbusinterface_8h_source.html71
-rw-r--r--libcontextsubscriber/doc/html/cdbreader_8cpp.html46
-rw-r--r--libcontextsubscriber/doc/html/cdbreader_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/cdbreader_8h_source.html84
-rw-r--r--libcontextsubscriber/doc/html/cdbwriter_8cpp.html42
-rw-r--r--libcontextsubscriber/doc/html/cdbwriter_8h.html44
-rw-r--r--libcontextsubscriber/doc/html/cdbwriter_8h_source.html84
-rw-r--r--libcontextsubscriber/doc/html/class_assoc_tree-members.html53
-rw-r--r--libcontextsubscriber/doc/html/class_assoc_tree.html516
-rw-r--r--libcontextsubscriber/doc/html/class_async_d_bus_interface-members.html38
-rw-r--r--libcontextsubscriber/doc/html/class_async_d_bus_interface.html104
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_reader-members.html48
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_reader.html311
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_writer-members.html49
-rw-r--r--libcontextsubscriber/doc/html/class_c_d_b_writer.html409
-rw-r--r--libcontextsubscriber/doc/html/class_context_feature-members.html40
-rw-r--r--libcontextsubscriber/doc/html/class_context_feature.html118
-rw-r--r--libcontextsubscriber/doc/html/class_context_list_info-members.html66
-rw-r--r--libcontextsubscriber/doc/html/class_context_list_info.html85
-rw-r--r--libcontextsubscriber/doc/html/class_context_property-members.html51
-rw-r--r--libcontextsubscriber/doc/html/class_context_property.html376
-rw-r--r--libcontextsubscriber/doc/html/class_context_property_info-members.html74
-rw-r--r--libcontextsubscriber/doc/html/class_context_property_info.html863
-rw-r--r--libcontextsubscriber/doc/html/class_context_property_private-members.html40
-rw-r--r--libcontextsubscriber/doc/html/class_context_real_logger-members.html60
-rw-r--r--libcontextsubscriber/doc/html/class_context_real_logger.html505
-rw-r--r--libcontextsubscriber/doc/html/class_context_registry_info-members.html58
-rw-r--r--libcontextsubscriber/doc/html/class_context_registry_info.html538
-rw-r--r--libcontextsubscriber/doc/html/class_context_string_enum_info-members.html67
-rw-r--r--libcontextsubscriber/doc/html/class_context_string_enum_info.html105
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin-members.html71
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin.html768
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener-members.html57
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener.html434
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router-members.html42
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router.html161
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin-members.html46
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin.html285
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher-members.html43
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher.html197
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle-members.html62
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html522
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider-members.html70
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider.html657
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker-members.html43
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker.html181
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface-members.html52
-rw-r--r--libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface.html415
-rw-r--r--libcontextsubscriber/doc/html/class_context_type_info-members.html64
-rw-r--r--libcontextsubscriber/doc/html/class_context_type_info.html282
-rw-r--r--libcontextsubscriber/doc/html/class_context_type_registry_info-members.html48
-rw-r--r--libcontextsubscriber/doc/html/class_context_type_registry_info.html284
-rw-r--r--libcontextsubscriber/doc/html/class_context_zero_logger-members.html39
-rw-r--r--libcontextsubscriber/doc/html/class_context_zero_logger.html100
-rw-r--r--libcontextsubscriber/doc/html/class_info_backend-members.html66
-rw-r--r--libcontextsubscriber/doc/html/class_info_backend.html686
-rw-r--r--libcontextsubscriber/doc/html/class_info_cdb_backend-members.html61
-rw-r--r--libcontextsubscriber/doc/html/class_info_cdb_backend.html405
-rw-r--r--libcontextsubscriber/doc/html/class_info_xml_backend-members.html63
-rw-r--r--libcontextsubscriber/doc/html/class_info_xml_backend.html456
-rw-r--r--libcontextsubscriber/doc/html/class_nano_xml-members.html54
-rw-r--r--libcontextsubscriber/doc/html/class_nano_xml.html471
-rw-r--r--libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher-members.html38
-rw-r--r--libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher.html80
-rw-r--r--libcontextsubscriber/doc/html/class_subscriber_interface.html47
-rw-r--r--libcontextsubscriber/doc/html/class_subscriber_signalling_interface.html47
-rw-r--r--libcontextsubscriber/doc/html/classes.html49
-rw-r--r--libcontextsubscriber/doc/html/contextkitplugin_8cpp.html70
-rw-r--r--libcontextsubscriber/doc/html/contextkitplugin_8h.html81
-rw-r--r--libcontextsubscriber/doc/html/contextkitplugin_8h_source.html154
-rw-r--r--libcontextsubscriber/doc/html/contextproperty_8cpp.html46
-rw-r--r--libcontextsubscriber/doc/html/contextproperty_8h.html44
-rw-r--r--libcontextsubscriber/doc/html/contextproperty_8h_source.html96
-rw-r--r--libcontextsubscriber/doc/html/contextpropertyinfo_8cpp.html43
-rw-r--r--libcontextsubscriber/doc/html/contextpropertyinfo_8h.html48
-rw-r--r--libcontextsubscriber/doc/html/contextpropertyinfo_8h_source.html129
-rw-r--r--libcontextsubscriber/doc/html/contextproviderinfo_8h.html42
-rw-r--r--libcontextsubscriber/doc/html/contextproviderinfo_8h_source.html73
-rw-r--r--libcontextsubscriber/doc/html/contextregistryinfo_8cpp.html45
-rw-r--r--libcontextsubscriber/doc/html/contextregistryinfo_8h.html44
-rw-r--r--libcontextsubscriber/doc/html/contextregistryinfo_8h_source.html104
-rw-r--r--libcontextsubscriber/doc/html/contexttypeinfo_8cpp.html39
-rw-r--r--libcontextsubscriber/doc/html/contexttypeinfo_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/contexttypeinfo_8h_source.html99
-rw-r--r--libcontextsubscriber/doc/html/contexttyperegistryinfo_8cpp.html43
-rw-r--r--libcontextsubscriber/doc/html/contexttyperegistryinfo_8h.html45
-rw-r--r--libcontextsubscriber/doc/html/contexttyperegistryinfo_8h_source.html86
-rw-r--r--libcontextsubscriber/doc/html/dbusnamelistener_8cpp.html46
-rw-r--r--libcontextsubscriber/doc/html/dbusnamelistener_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/dbusnamelistener_8h_source.html101
-rw-r--r--libcontextsubscriber/doc/html/doxygen.css498
-rw-r--r--libcontextsubscriber/doc/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--libcontextsubscriber/doc/html/files.html87
-rw-r--r--libcontextsubscriber/doc/html/functions.html92
-rw-r--r--libcontextsubscriber/doc/html/functions_0x62.html93
-rw-r--r--libcontextsubscriber/doc/html/functions_0x63.html234
-rw-r--r--libcontextsubscriber/doc/html/functions_0x64.html121
-rw-r--r--libcontextsubscriber/doc/html/functions_0x65.html89
-rw-r--r--libcontextsubscriber/doc/html/functions_0x66.html101
-rw-r--r--libcontextsubscriber/doc/html/functions_0x67.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_0x68.html95
-rw-r--r--libcontextsubscriber/doc/html/functions_0x69.html143
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6b.html115
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6c.html102
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6d.html111
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6e.html115
-rw-r--r--libcontextsubscriber/doc/html/functions_0x6f.html182
-rw-r--r--libcontextsubscriber/doc/html/functions_0x70.html183
-rw-r--r--libcontextsubscriber/doc/html/functions_0x71.html86
-rw-r--r--libcontextsubscriber/doc/html/functions_0x72.html122
-rw-r--r--libcontextsubscriber/doc/html/functions_0x73.html180
-rw-r--r--libcontextsubscriber/doc/html/functions_0x74.html114
-rw-r--r--libcontextsubscriber/doc/html/functions_0x75.html94
-rw-r--r--libcontextsubscriber/doc/html/functions_0x76.html116
-rw-r--r--libcontextsubscriber/doc/html/functions_0x77.html87
-rw-r--r--libcontextsubscriber/doc/html/functions_0x7e.html98
-rw-r--r--libcontextsubscriber/doc/html/functions_enum.html57
-rw-r--r--libcontextsubscriber/doc/html/functions_eval.html69
-rw-r--r--libcontextsubscriber/doc/html/functions_func.html92
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x62.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x63.html172
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x64.html117
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x65.html89
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x66.html85
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x67.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x68.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x69.html120
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6b.html105
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6c.html96
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6d.html81
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6e.html105
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x6f.html182
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x70.html154
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x71.html86
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x72.html106
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x73.html132
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x74.html98
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x75.html88
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x76.html104
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x77.html83
-rw-r--r--libcontextsubscriber/doc/html/functions_func_0x7e.html98
-rw-r--r--libcontextsubscriber/doc/html/functions_rela.html75
-rw-r--r--libcontextsubscriber/doc/html/functions_vars.html409
-rw-r--r--libcontextsubscriber/doc/html/globals.html107
-rw-r--r--libcontextsubscriber/doc/html/globals_defs.html94
-rw-r--r--libcontextsubscriber/doc/html/globals_func.html56
-rw-r--r--libcontextsubscriber/doc/html/handlesignalrouter_8cpp.html40
-rw-r--r--libcontextsubscriber/doc/html/handlesignalrouter_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/handlesignalrouter_8h_source.html82
-rw-r--r--libcontextsubscriber/doc/html/hierarchy.html82
-rw-r--r--libcontextsubscriber/doc/html/index.html55
-rw-r--r--libcontextsubscriber/doc/html/infobackend_8cpp.html43
-rw-r--r--libcontextsubscriber/doc/html/infobackend_8h.html46
-rw-r--r--libcontextsubscriber/doc/html/infobackend_8h_source.html123
-rw-r--r--libcontextsubscriber/doc/html/infocdbbackend_8cpp.html47
-rw-r--r--libcontextsubscriber/doc/html/infocdbbackend_8h.html48
-rw-r--r--libcontextsubscriber/doc/html/infocdbbackend_8h_source.html94
-rw-r--r--libcontextsubscriber/doc/html/infokeydata_8h.html43
-rw-r--r--libcontextsubscriber/doc/html/infokeydata_8h_source.html67
-rw-r--r--libcontextsubscriber/doc/html/infoxmlbackend_8cpp.html50
-rw-r--r--libcontextsubscriber/doc/html/infoxmlbackend_8h.html51
-rw-r--r--libcontextsubscriber/doc/html/infoxmlbackend_8h_source.html100
-rw-r--r--libcontextsubscriber/doc/html/introspection.html57
-rw-r--r--libcontextsubscriber/doc/html/iproviderplugin_8h.html48
-rw-r--r--libcontextsubscriber/doc/html/iproviderplugin_8h_source.html90
-rw-r--r--libcontextsubscriber/doc/html/logging.html85
-rw-r--r--libcontextsubscriber/doc/html/logging_8cpp.html42
-rw-r--r--libcontextsubscriber/doc/html/logging_8h.html218
-rw-r--r--libcontextsubscriber/doc/html/logging_8h_source.html164
-rw-r--r--libcontextsubscriber/doc/html/loggingfeatures_8h.html138
-rw-r--r--libcontextsubscriber/doc/html/loggingfeatures_8h_source.html65
-rw-r--r--libcontextsubscriber/doc/html/migratingfromduivaluespace.html58
-rw-r--r--libcontextsubscriber/doc/html/mocs_8cpp.html54
-rw-r--r--libcontextsubscriber/doc/html/namespace_context_subscriber.html70
-rw-r--r--libcontextsubscriber/doc/html/namespacemembers.html45
-rw-r--r--libcontextsubscriber/doc/html/namespacemembers_type.html45
-rw-r--r--libcontextsubscriber/doc/html/namespaces.html37
-rw-r--r--libcontextsubscriber/doc/html/nanoxml_8cpp.html38
-rw-r--r--libcontextsubscriber/doc/html/nanoxml_8h.html47
-rw-r--r--libcontextsubscriber/doc/html/nanoxml_8h_source.html92
-rw-r--r--libcontextsubscriber/doc/html/pages.html38
-rw-r--r--libcontextsubscriber/doc/html/propertyhandle_8cpp.html54
-rw-r--r--libcontextsubscriber/doc/html/propertyhandle_8h.html49
-rw-r--r--libcontextsubscriber/doc/html/propertyhandle_8h_source.html115
-rw-r--r--libcontextsubscriber/doc/html/provider_8cpp.html50
-rw-r--r--libcontextsubscriber/doc/html/provider_8h.html50
-rw-r--r--libcontextsubscriber/doc/html/provider_8h_source.html123
-rw-r--r--libcontextsubscriber/doc/html/queuedinvoker_8cpp.html43
-rw-r--r--libcontextsubscriber/doc/html/queuedinvoker_8h.html47
-rw-r--r--libcontextsubscriber/doc/html/queuedinvoker_8h_source.html86
-rw-r--r--libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h.html43
-rw-r--r--libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h_source.html51
-rw-r--r--libcontextsubscriber/doc/html/sconnect_8h.html88
-rw-r--r--libcontextsubscriber/doc/html/sconnect_8h_source.html71
-rw-r--r--libcontextsubscriber/doc/html/struct_context_property_private.html102
-rw-r--r--libcontextsubscriber/doc/html/struct_context_provider_info-members.html41
-rw-r--r--libcontextsubscriber/doc/html/struct_context_provider_info.html125
-rw-r--r--libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value-members.html43
-rw-r--r--libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value.html164
-rw-r--r--libcontextsubscriber/doc/html/struct_info_key_data-members.html40
-rw-r--r--libcontextsubscriber/doc/html/struct_info_key_data.html104
-rw-r--r--libcontextsubscriber/doc/html/subscriberinterface_8cpp.html45
-rw-r--r--libcontextsubscriber/doc/html/subscriberinterface_8h.html47
-rw-r--r--libcontextsubscriber/doc/html/subscriberinterface_8h_source.html101
-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/timedvalue_8h.html44
-rw-r--r--libcontextsubscriber/doc/html/timedvalue_8h_source.html85
-rw-r--r--libcontextsubscriber/doc/html/update-contextkit-providers_8cpp.html93
-rw-r--r--libcontextsubscriber/doc/html/updatingcontextproviders.html44
-rw-r--r--libcontextsubscriber/man/Makefile.in477
-rw-r--r--libcontextsubscriber/propertymonitor/.gitignore1
-rw-r--r--libcontextsubscriber/propertymonitor/Makefile.in403
-rw-r--r--libcontextsubscriber/propertymonitor/tests.xml407
-rw-r--r--libcontextsubscriber/src/Makefile.in695
-rw-r--r--libcontextsubscriber/unit-tests/Makefile.in643
-rw-r--r--libcontextsubscriber/unit-tests/assoctree/.gitignore4
-rw-r--r--libcontextsubscriber/unit-tests/assoctree/Makefile.in738
-rw-r--r--libcontextsubscriber/unit-tests/cdb/.gitignore7
-rw-r--r--libcontextsubscriber/unit-tests/cdb/Makefile.in738
-rw-r--r--libcontextsubscriber/unit-tests/contextpropertyinfo/.gitignore11
-rw-r--r--libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in753
-rw-r--r--libcontextsubscriber/unit-tests/contextregistryinfo/.gitignore5
-rw-r--r--libcontextsubscriber/unit-tests/contextregistryinfo/Makefile.in746
-rw-r--r--libcontextsubscriber/unit-tests/contexttypeinfo/.gitignore10
-rw-r--r--libcontextsubscriber/unit-tests/contexttypeinfo/Makefile.in744
-rw-r--r--libcontextsubscriber/unit-tests/contexttyperegistryinfo/.gitignore10
-rw-r--r--libcontextsubscriber/unit-tests/contexttyperegistryinfo/Makefile.in754
-rw-r--r--libcontextsubscriber/unit-tests/handlesignalrouter/.gitignore5
-rw-r--r--libcontextsubscriber/unit-tests/handlesignalrouter/Makefile.in742
-rw-r--r--libcontextsubscriber/unit-tests/infobackend/.gitignore25
-rw-r--r--libcontextsubscriber/unit-tests/infobackend/Makefile.in763
-rw-r--r--libcontextsubscriber/unit-tests/infocdbbackend/.gitignore28
-rw-r--r--libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in768
-rw-r--r--libcontextsubscriber/unit-tests/infoxmlbackend/.gitignore25
-rw-r--r--libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in765
-rw-r--r--libcontextsubscriber/unit-tests/nanoxml/.gitignore8
-rw-r--r--libcontextsubscriber/unit-tests/nanoxml/Makefile.in739
-rw-r--r--libcontextsubscriber/unit-tests/propertyhandle/.gitignore9
-rw-r--r--libcontextsubscriber/unit-tests/propertyhandle/Makefile.in745
-rw-r--r--libcontextsubscriber/unit-tests/provider/.gitignore9
-rw-r--r--libcontextsubscriber/unit-tests/provider/Makefile.in742
-rw-r--r--libcontextsubscriber/unit-tests/util/Makefile.in394
-rw-r--r--libcontextsubscriber/update-contextkit-providers/Makefile.in565
-rwxr-xr-xltmain.sh8428
-rw-r--r--m4/.gitignore6
-rw-r--r--m4/libtool.m47376
-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-xmissing376
-rwxr-xr-xpy-compile146
-rw-r--r--python/Makefile.in503
-rwxr-xr-xsandbox/context-proxy112
-rw-r--r--sandbox/loadmem/.gitignore1
-rw-r--r--sandbox/loadmem/Makefile.am3
-rw-r--r--sandbox/loadmem/loadmem.c58
-rw-r--r--sandbox/messaging-to-self/main.cpp20
-rw-r--r--sandbox/messaging-to-self/messaging-to-self.pro12
-rw-r--r--sandbox/messaging-to-self/myobject.h35
-rw-r--r--sandbox/messaging-to-self/mythread.h32
-rw-r--r--sandbox/messaging-to-self/queuedinvoker.cpp35
-rw-r--r--sandbox/messaging-to-self/queuedinvoker.h29
-rw-r--r--sandbox/multithreading-tests/Makefile.am1
-rw-r--r--sandbox/multithreading-tests/new-property-in-thread/.gitignore1
-rw-r--r--sandbox/multithreading-tests/new-property-in-thread/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/new-property-in-thread/main.cpp20
-rw-r--r--sandbox/multithreading-tests/new-property-in-thread/thread.h45
-rw-r--r--sandbox/multithreading-tests/old-property-in-thread/.gitignore1
-rw-r--r--sandbox/multithreading-tests/old-property-in-thread/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/old-property-in-thread/main.cpp25
-rw-r--r--sandbox/multithreading-tests/old-property-in-thread/thread.h45
-rw-r--r--sandbox/multithreading-tests/single-thread/.gitignore1
-rw-r--r--sandbox/multithreading-tests/single-thread/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/single-thread/listener.h30
-rw-r--r--sandbox/multithreading-tests/single-thread/main.cpp15
-rw-r--r--sandbox/multithreading-tests/stress-test/.gitignore2
-rw-r--r--sandbox/multithreading-tests/stress-test/1provider.cdbbin2727 -> 0 bytes
-rw-r--r--sandbox/multithreading-tests/stress-test/2providers.cdbbin3423 -> 0 bytes
-rw-r--r--sandbox/multithreading-tests/stress-test/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/stress-test/main.cpp23
-rwxr-xr-xsandbox/multithreading-tests/stress-test/provider.py42
-rwxr-xr-xsandbox/multithreading-tests/stress-test/runme.sh14
-rw-r--r--sandbox/multithreading-tests/stress-test/thread.h135
-rw-r--r--sandbox/multithreading-tests/using-backend-from-thread/.gitignore1
-rw-r--r--sandbox/multithreading-tests/using-backend-from-thread/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/using-backend-from-thread/main.cpp25
-rw-r--r--sandbox/multithreading-tests/using-backend-from-thread/thread.h39
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore1
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-only-in-thread/main.cpp20
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-only-in-thread/thread.h52
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-thread/.gitignore1
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-thread/Makefile.am18
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-thread/main.cpp25
-rw-r--r--sandbox/multithreading-tests/wait-for-subscription-thread/thread.h47
-rw-r--r--sandbox/wait-test/main.cpp73
-rw-r--r--sandbox/wait-test/wait-test.pro11
-rw-r--r--spec/.gitignore6
-rw-r--r--spec/Makefile.in565
-rw-r--r--spec/context-properties.html1684
-rw-r--r--spec/context-provider-schema.html1527
-rw-r--r--spec/context.valid.stamp0
-rw-r--r--spec/contextkit.html226
-rw-r--r--spec/core-types.html774
-rw-r--r--spec/introspect/ContextKit.xml19
-rw-r--r--spec/introspect/Manager.xml14
-rw-r--r--spec/introspect/Subscriber.xml18
-rw-r--r--tools/Makefile.in394
470 files changed, 118169 insertions, 1506 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index a7c4bd86..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,47 +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
-doltcompile
-doltlibtool
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 00000000..7f9b8b4a
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,780 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir dist dist-all distcheck
+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)"; }; }
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 doltlibtool doltcompile
+MAINTAINERCLEANFILES = INSTALL
+EXTRA_DIST = HACKING INSTALL.real MAINTAINERS autogen.sh autoclean.sh \
+ ltmain.sh.as-needed.patch
+
+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'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__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)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || 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-xz: distdir
+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+ $(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.xz*) \
+ xz -dc $(distdir).tar.xz | $(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)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__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 \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(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:
+ @$(am__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 . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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-xz 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..1bf9db05
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1324 @@
+# generated automatically by aclocal 1.11 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 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.64],,
+[m4_warning([this file was generated for autoconf 2.64.
+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.11'
+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.11], [],
+ [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.11])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, 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 9
+
+# 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
+m4_define([_AM_COND_VALUE_$1], [$2])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, 2009
+# 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 10
+
+# 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
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ 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
+
+ # 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. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ 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
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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, 2009 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 16
+
+# 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.62])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)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+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
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# 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, 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_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+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, 2009 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_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.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
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+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, 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 6
+
+# 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
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# 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, 2008, 2009
+# 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 2.0 are not
+ dnl supported. (2.0 was released on October 16, 2000).
+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+ [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
+python2.1 python2.0])
+
+ 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; sys.stdout.write(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; sys.stdout.write(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.
+# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys
+# split strings by '.' and convert to numeric. Append some zeros
+# because we need at least 4 digits for the hex conversion.
+# map returns an iterator in Python 3.0 and a list in 2.x
+minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
+minverhex = 0
+# xrange is not present in Python 3.0 and range returns an iterator
+for i in list(range(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, 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_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# 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, 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 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_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/dolt.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/common/Makefile.in b/common/Makefile.in
new file mode 100644
index 00000000..2da54591
--- /dev/null
+++ b/common/Makefile.in
@@ -0,0 +1,513 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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..da833146
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,1561 @@
+#! /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='2009-04-27'
+
+# 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 ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ 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.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-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 | genuineintel)
+ 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 ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ 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 ;;
+ "")
+ # 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 i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-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; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ 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; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; 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 ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ 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 ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ 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..a39437d0
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1686 @@
+#! /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='2009-04-17'
+
+# 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* | \
+ kopensolaris*-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 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | 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[24]aeb | 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 | z80)
+ 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-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | 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[24]aeb-* | 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-* | tile-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # 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
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ 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
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ 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
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ 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
+ ;;
+ z80-*-coff)
+ basic_machine=z80-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[24]aeb | 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* \
+ | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -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* | -cegcc* \
+ | -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
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -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..49114446
--- /dev/null
+++ b/configure
@@ -0,0 +1,18835 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.64 for ContextKit 0.5.1~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, 2009 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
+
+
+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
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (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
+
+
+# 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
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="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_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: marius.vollmer@nokia.com about your system, including
+$0: any error possibly output before this message. Then
+$0: install a modern shell, or manually run the script
+$0: under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ 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_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$?; test $as_status -eq 0 && as_status=1
+ if test "$3"; then
+ as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ fi
+ $as_echo "$as_me: error: $1" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+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
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+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'`
+
+# 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_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # 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; as_fn_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
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+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='mkdir -p "$as_dir"'
+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=
+
+# Identity of this package.
+PACKAGE_NAME='ContextKit'
+PACKAGE_TARNAME='ContextKit'
+PACKAGE_VERSION='0.5.1~unreleased'
+PACKAGE_STRING='ContextKit 0.5.1~unreleased'
+PACKAGE_BUGREPORT='marius.vollmer@nokia.com'
+PACKAGE_URL=''
+
+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='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+CONTEXTKIT_COVERAGE_FALSE
+CONTEXTKIT_COVERAGE_TRUE
+LCOV
+GCOV
+CONTEXTKIT_BUILD_DOCS_FALSE
+CONTEXTKIT_BUILD_DOCS_TRUE
+DOXYGEN
+XMLLINT
+XSLTPROC
+SOURCE_HIGHLIGHT
+ASCIIDOC
+DOT
+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
+LTCXXCOMPILE
+LTCOMPILE
+DOLT_BASH
+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_URL
+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_static
+enable_shared
+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_fn_error "invalid feature name: $ac_useropt"
+ 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_fn_error "invalid feature name: $ac_useropt"
+ 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_fn_error "invalid package name: $ac_useropt"
+ 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_fn_error "invalid package name: $ac_useropt"
+ 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_fn_error "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information."
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ 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_fn_error "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $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_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+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_fn_error "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error "pwd does not report name of working directory"
+
+
+# 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_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ 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.5.1~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.5.1~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-static[=PKGS] build static libraries [default=no]
+ --enable-shared[=PKGS] build shared 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.5.1~unreleased
+generated by GNU Autoconf 2.64
+
+Copyright (C) 2009 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
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ 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_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+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
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); 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 $2
+
+/* 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 $2 ();
+/* 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_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ 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 :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_cxx_try_link
+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.5.1~unreleased, which was
+generated by GNU Autoconf 2.64. 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) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append 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
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset 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:${as_lineno-$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= ;; #(
+ *) { eval $ac_var=; 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'; as_fn_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
+
+$as_echo "/* confdefs.h */" > 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
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$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.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$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_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+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.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ for ac_t in install-sh install.sh shtool; do
+ if test -f "$ac_dir/$ac_t"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/$ac_t -c"
+ break 2
+ fi
+ done
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# 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_fn_error "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$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`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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"
+
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$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_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ 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.5.1~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"}
+
+# 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ rm -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ 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 conftest.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:${as_lineno-$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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "C compiler cannot create executables
+See \`config.log' for more details." "$LINENO" 5; }; }
+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:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.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:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ 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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+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:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+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
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$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
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ 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
+
+ # 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. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ 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
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ rm -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ 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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+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:${as_lineno-$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:${as_lineno-$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
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ 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
+
+ # 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. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ 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
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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:${as_lineno-$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:${as_lineno-$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_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$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_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+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:${as_lineno-$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_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+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:${as_lineno-$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
+ { ac_script=; unset 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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$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
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ 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_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:5043: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:5046: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:5049: 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:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && 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\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && 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:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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 6255 "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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:${as_lineno-$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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+ { $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # 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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+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`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+ 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 :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ rm -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ 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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+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:${as_lineno-$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:${as_lineno-$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
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ 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
+
+ # 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. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ 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
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # 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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # 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:${as_lineno-$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
+# 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=no
+fi
+
+
+
+
+
+
+
+
+
+
+ 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 --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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:8311: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:8315: \$? = $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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:8650: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:8654: \$? = $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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:8755: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:8759: \$? = $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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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:8810: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:8814: \$? = $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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
+ ;;
+ linux* | k*bsd*-gnu)
+ link_all_deplibs=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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; 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
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; 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
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo(void) {}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; 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'
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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:${as_lineno-$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:${as_lineno-$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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 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\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ 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:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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 11193 "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\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && 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:${as_lineno-$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:${as_lineno-$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 11289 "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\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; 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
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; 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
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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:${as_lineno-$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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:13245: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:13249: \$? = $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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:13344: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:13348: \$? = $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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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:13396: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:13400: \$? = $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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 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\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ 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:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:
+
+
+
+
+# dolt, a replacement for libtool
+# Josh Triplett <josh@freedesktop.org>
+# Extract the first word of "bash", so it can be a program name with args.
+set dummy bash; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_DOLT_BASH+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $DOLT_BASH in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_DOLT_BASH="$DOLT_BASH" # 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_DOLT_BASH="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+DOLT_BASH=$ac_cv_path_DOLT_BASH
+if test -n "$DOLT_BASH"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOLT_BASH" >&5
+$as_echo "$DOLT_BASH" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if dolt supports this host" >&5
+$as_echo_n "checking if dolt supports this host... " >&6; }
+dolt_supported=yes
+if test x$DOLT_BASH = x; then
+ dolt_supported=no
+fi
+if test x$GCC != xyes; then
+ dolt_supported=no
+fi
+case $host in
+i?86-*-linux*|x86_64-*-linux*|powerpc-*-linux* \
+|amd64-*-freebsd*|i?86-*-freebsd*|ia64-*-freebsd*)
+ pic_options='-fPIC'
+ ;;
+i?86-apple-darwin*)
+ pic_options='-fno-common'
+ ;;
+*)
+ dolt_supported=no
+ ;;
+esac
+if test x$dolt_supported = xno ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, falling back to libtool" >&5
+$as_echo "no, falling back to libtool" >&6; }
+ LTCOMPILE='$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)'
+ LTCXXCOMPILE='$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)'
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, replacing libtool" >&5
+$as_echo "yes, replacing libtool" >&6; }
+
+ cat <<__DOLTCOMPILE__EOF__ >doltcompile
+#!$DOLT_BASH
+__DOLTCOMPILE__EOF__
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+args=("$@")
+for ((arg=0; arg<${#args[@]}; arg++)) ; do
+ if test x"${args[$arg]}" = x-o ; then
+ objarg=$((arg+1))
+ break
+ fi
+done
+if test x$objarg = x ; then
+ echo 'Error: no -o on compiler command line' 1>&2
+ exit 1
+fi
+lo="${args[$objarg]}"
+obj="${lo%.lo}"
+if test x"$lo" = x"$obj" ; then
+ echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2
+ exit 1
+fi
+objbase="${obj##*/}"
+__DOLTCOMPILE__EOF__
+
+ if test x$enable_shared = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+libobjdir="${obj%$objbase}.libs"
+if test ! -d "$libobjdir" ; then
+ mkdir_out="$(mkdir "$libobjdir" 2>&1)"
+ mkdir_ret=$?
+ if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then
+ echo "$mkdir_out" 1>&2
+ exit $mkdir_ret
+ fi
+fi
+pic_object="$libobjdir/$objbase.o"
+args[$objarg]="$pic_object"
+__DOLTCOMPILE__EOF__
+ cat <<__DOLTCOMPILE__EOF__ >>doltcompile
+"\${args[@]}" $pic_options -DPIC || exit \$?
+__DOLTCOMPILE__EOF__
+ fi
+
+ if test x$enable_static = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+non_pic_object="$obj.o"
+args[$objarg]="$non_pic_object"
+__DOLTCOMPILE__EOF__
+ if test x$enable_shared = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+"${args[@]}" >/dev/null 2>&1 || exit $?
+__DOLTCOMPILE__EOF__
+ else
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+"${args[@]}" || exit $?
+__DOLTCOMPILE__EOF__
+ fi
+ fi
+
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+{
+echo "# $lo - a libtool object file"
+echo "# Generated by doltcompile, not libtool"
+__DOLTCOMPILE__EOF__
+
+ if test x$enable_shared = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo "pic_object='.libs/${objbase}.o'"
+__DOLTCOMPILE__EOF__
+ else
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo pic_object=none
+__DOLTCOMPILE__EOF__
+ fi
+
+ if test x$enable_static = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo "non_pic_object='${objbase}.o'"
+__DOLTCOMPILE__EOF__
+ else
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo non_pic_object=none
+__DOLTCOMPILE__EOF__
+ fi
+
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+} > "$lo"
+__DOLTCOMPILE__EOF__
+
+ chmod +x doltcompile
+ LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)'
+ LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)'
+
+ cat <<__DOLTLIBTOOL__EOF__ > doltlibtool
+#!$DOLT_BASH
+__DOLTLIBTOOL__EOF__
+ cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool
+top_builddir_slash="${0%%doltlibtool}"
+: ${top_builddir_slash:=./}
+args=()
+modeok=false
+tagok=false
+for arg in "$@"; do
+ case "$arg" in
+ --mode=compile) modeok=true ;;
+ --tag=CC|--tag=CXX) tagok=true ;;
+ *) args[${#args[@]}]="$arg" ;;
+ esac
+done
+if $modeok && $tagok ; then
+ . ${top_builddir_slash}doltcompile "${args[@]}"
+else
+ exec ${top_builddir_slash}libtool "$@"
+fi
+__DOLTLIBTOOL__EOF__
+
+ chmod +x doltlibtool
+ LIBTOOL='$(top_builddir)/doltlibtool'
+fi
+
+
+# end dolt
+
+
+
+
+
+ # Find any Python interpreter.
+ if test -z "$PYTHON"; then
+ for ac_prog in python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0
+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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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_fn_error "no suitable Python interpreter found" "$LINENO" 5
+ else
+
+
+ { $as_echo "$as_me:${as_lineno-$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; sys.stdout.write(sys.version[:3])"`
+fi
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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; sys.stdout.write(sys.platform)"`
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
+$as_echo "$am_cv_python_platform" >&6; }
+ PYTHON_PLATFORM=$am_cv_python_platform
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+
+fi
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtTest\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtTest") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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_fn_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.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_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." "$LINENO" 5; }
+else
+ QtTest_CFLAGS=$pkg_cv_QtTest_CFLAGS
+ QtTest_LIBS=$pkg_cv_QtTest_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtCore") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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_fn_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.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_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." "$LINENO" 5; }
+else
+ QtCore_CFLAGS=$pkg_cv_QtCore_CFLAGS
+ QtCore_LIBS=$pkg_cv_QtCore_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtDBus\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtDBus") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtDBus\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtDBus") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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_fn_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.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_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." "$LINENO" 5; }
+else
+ QtDBus_CFLAGS=$pkg_cv_QtDBus_CFLAGS
+ QtDBus_LIBS=$pkg_cv_QtDBus_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtXml\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtXml") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtXml\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "QtXml") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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_fn_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.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_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." "$LINENO" 5; }
+else
+ QtXml_CFLAGS=$pkg_cv_QtXml_CFLAGS
+ QtXml_LIBS=$pkg_cv_QtXml_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+# only for compiling c code
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-1\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "dbus-1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-1\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "dbus-1") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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_fn_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.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_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." "$LINENO" 5; }
+else
+ DBUS_CFLAGS=$pkg_cv_DBUS_CFLAGS
+ DBUS_LIBS=$pkg_cv_DBUS_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
+fi
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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:${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; 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_fn_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.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_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." "$LINENO" 5; }
+else
+ GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS
+ GLIB_LIBS=$pkg_cv_GLIB_LIBS
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5
+if test -r "$MOC"; then
+ eval "$as_ac_File=yes"
+else
+ eval "$as_ac_File=no"
+fi
+fi
+eval ac_res=\$$as_ac_File
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval as_val=\$$as_ac_File
+ if test "x$as_val" = x""yes; then :
+
+else
+ as_fn_error "Can't find moc compiler: $MOC" "$LINENO" 5
+fi
+
+
+
+UIC=`pkg-config QtCore --variable=uic_location`
+as_ac_File=`$as_echo "ac_cv_file_$UIC" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$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_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5
+if test -r "$UIC"; then
+ eval "$as_ac_File=yes"
+else
+ eval "$as_ac_File=no"
+fi
+fi
+eval ac_res=\$$as_ac_File
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval as_val=\$$as_ac_File
+ if test "x$as_val" = x""yes; then :
+
+else
+ as_fn_error "Can't find uic compiler: $UIC" "$LINENO" 5
+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:${as_lineno-$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_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5
+if test -r "$RCC"; then
+ eval "$as_ac_File=yes"
+else
+ eval "$as_ac_File=no"
+fi
+fi
+eval ac_res=\$$as_ac_File
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval as_val=\$$as_ac_File
+ if test "x$as_val" = x""yes; then :
+
+else
+ as_fn_error "Can't find rcc compiler: $RCC" "$LINENO" 5
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_cdb_cdb_make_start=yes
+else
+ ac_cv_lib_cdb_cdb_make_start=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$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_fn_error "Can't find cdb library" "$LINENO" 5
+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
+
+
+
+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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $DOT" >&5
+$as_echo "$DOT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $ASCIIDOC" >&5
+$as_echo "$ASCIIDOC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $SOURCE_HIGHLIGHT" >&5
+$as_echo "$SOURCE_HIGHLIGHT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
+$as_echo "$XSLTPROC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $XMLLINT" >&5
+$as_echo "$XMLLINT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
+$as_echo "$DOXYGEN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
+
+
+# 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $GCOV" >&5
+$as_echo "$GCOV" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $LCOV" >&5
+$as_echo "$LCOV" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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/contextsubscriber-1.0-uninstalled.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/assoctree/Makefile libcontextsubscriber/unit-tests/nanoxml/Makefile libcontextsubscriber/unit-tests/contexttypeinfo/Makefile libcontextsubscriber/unit-tests/contexttyperegistryinfo/Makefile libcontextsubscriber/update-contextkit-providers/Makefile libcontextsubscriber/propertymonitor/Makefile libcontextprovider/contextprovider-1.0.pc libcontextprovider/contextprovider-1.0-uninstalled.pc libcontextprovider/Makefile libcontextprovider/doc/Makefile libcontextprovider/src/Makefile libcontextprovider/context-provide/Makefile libcontextprovider/unit-tests/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/service/Makefile libcontextprovider/customer-tests/c-api/Makefile python/Makefile spec/Makefile tools/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:${as_lineno-$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= ;; #(
+ *) { eval $ac_var=; 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:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:${as_lineno-$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.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${CONTEXTKIT_BUILD_DOCS_TRUE}" && test -z "${CONTEXTKIT_BUILD_DOCS_FALSE}"; then
+ as_fn_error "conditional \"CONTEXTKIT_BUILD_DOCS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${CONTEXTKIT_COVERAGE_TRUE}" && test -z "${CONTEXTKIT_COVERAGE_FALSE}"; then
+ as_fn_error "conditional \"CONTEXTKIT_COVERAGE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+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:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_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}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_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
+
+
+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
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (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
+
+
+# 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
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$?; test $as_status -eq 0 && as_status=1
+ if test "$3"; then
+ as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ fi
+ $as_echo "$as_me: error: $1" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+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
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+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'`
+
+# 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
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+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
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ 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_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+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
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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.5.1~unreleased, which was
+generated by GNU Autoconf 2.64. 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 and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -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 <marius.vollmer@nokia.com>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+ContextKit config.status 0.5.1~unreleased
+configured by $0, generated by GNU Autoconf 2.64,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2009 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
+ as_fn_append 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_fn_error "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append 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_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $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/contextsubscriber-1.0-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/contextsubscriber-1.0-uninstalled.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/assoctree/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/assoctree/Makefile" ;;
+ "libcontextsubscriber/unit-tests/nanoxml/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/nanoxml/Makefile" ;;
+ "libcontextsubscriber/unit-tests/contexttypeinfo/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/contexttypeinfo/Makefile" ;;
+ "libcontextsubscriber/unit-tests/contexttyperegistryinfo/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextsubscriber/unit-tests/contexttyperegistryinfo/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/contextprovider-1.0-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES libcontextprovider/contextprovider-1.0-uninstalled.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/unit-tests/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/unit-tests/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/service/Makefile") CONFIG_FILES="$CONFIG_FILES libcontextprovider/customer-tests/service/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" ;;
+
+ *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ 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 'as_fn_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_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+# 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=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+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_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+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_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ 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_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ 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_fn_error "could not setup config files machinery" "$LINENO" 5
+_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_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[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_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append 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:${as_lineno-$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_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+ 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"; as_fn_mkdir_p
+ 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:${as_lineno-$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_fn_error "could not create $ac_file" "$LINENO" 5
+
+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:${as_lineno-$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_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+ :C) { $as_echo "$as_me:${as_lineno-$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; as_fn_mkdir_p
+ # 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 static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# 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
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# 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 || as_fn_exit $?
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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
+
+
+ln -sf $ac_abs_confdir/libcontextprovider/src/ libcontextprovider/src/context
diff --git a/depcomp b/depcomp
new file mode 100755
index 00000000..df8eea7e
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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, see <http://www.gnu.org/licenses/>.
+
+# 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
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u="sed s,\\\\\\\\,/,g"
+ depmode=msvisualcpp
+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 "X$1" != 'X--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 "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ 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.
+ -arch)
+ eat=yes ;;
+ -*|$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 "X$1" != 'X--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.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # 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
+ ;;
+
+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-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# 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..067667ef
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,465 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(htmldir)"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 \
+ context-cron.txt \
+ context-talk.txt \
+ protocol-suggestion.txt \
+ lgpl-2.1.txt
+
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$(htmldir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+ done
+
+uninstall-htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(html_DATA)'; test -n "$(htmldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(htmldir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(htmldir)" && rm -f $$files
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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..29e6df34
--- /dev/null
+++ b/doc/context-arch.html
@@ -0,0 +1,1185 @@
+<!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.4.4" />
+<title>Context Framework Subsystem Architecture Description</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</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>
+</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="tableblock">
+<table rules="all"
+width="30%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="50%" />
+<col width="50%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">Author</p></td>
+<td align="left" valign="top"><p class="table">Marius Vollmer</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Status</p></td>
+<td align="left" valign="top"><p class="table">Draft</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Version</p></td>
+<td align="left" valign="top"><p class="table">2009-11-18</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Approver</p></td>
+<td align="left" valign="top"><p class="table">Olli Finni</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="paragraph"><p>Copyright &#169; Nokia. All rights reserved.</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>The following lists some typical context properties:</p></div>
+<div class="ulist"><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="paragraph"><p>More concretely, the information in the status bar of a device is
+provided exclusively by the Context Framework.</p></div>
+<div class="paragraph"><p>Applications access context properties by using the <tt>ContextProperty</tt>
+class that is implemented in api:libcontextsubscriber.</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>The concrete list of properties is ultimately defined by their
+providers, but the context framework is the central authority: the
+&#8216;official&#8217; list of context properties of the Maemo platform is defined
+and documented by the context framework.</p></div>
+<div class="paragraph"><p>To summarize, the context framework contributes value to the Maemo
+platform in the following ways:</p></div>
+<div class="ulist"><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="paragraph"><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&#8217;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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>(Note that the cache only caches property declarations, it does not
+ever contain the values of context properties.)</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>The <tt>contextd</tt> Context Daemon will implement all context properties
+that don&#8217;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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>There are two fundamental options for exporting information via the
+context framework:</p></div>
+<div class="ulist"><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="paragraph"><div class="title"><tt>libcontextsubscriber</tt></div><p>A C++ API for listening to context properties.</p></div>
+<div class="paragraph"><p><a href="libcontextsubscriber">Documentation</a></p></div>
+<div class="paragraph"><div class="title"><tt>libcontextprovider</tt></div><p>A C++ and C API for providing values of context properties.</p></div>
+<div class="paragraph"><p><a href="libcontextprovider">Documentation</a></p></div>
+<div class="paragraph"><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="paragraph"><p><a href="context-properties.html">Documentation</a></p></div>
+<div class="paragraph"><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="paragraph"><p><a href="context-providers.html">Documentation</a></p></div>
+<h3 id="_development_support">Development support</h3><div style="clear:left"></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>See above.</p></div>
+<h3 id="_packages">Packages</h3><div style="clear:left"></div>
+<div class="dlist"><div class="title"><tt>contextkit</tt></div><dl>
+<dt class="hdlist1">
+Languages
+</dt>
+<dd>
+<p>
+C, C++
+</p>
+</dd>
+<dt class="hdlist1">
+License
+</dt>
+<dd>
+<p>
+LGPL 2.1
+</p>
+</dd>
+<dt class="hdlist1">
+Provided interfaces
+</dt>
+<dd>
+<p>
+libcontextsubscriber, libcontextprovider, context-providers, context-properties,
+</p>
+</dd>
+<dt class="hdlist1">
+Used interfaces
+</dt>
+<dd>
+<p>
+libdbus, libgee, libglib, libcdb, libqt4-dbus, libqt4-xml, libqtcore4
+</p>
+</dd>
+<dt class="hdlist1">
+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>
+<dt class="hdlist1">
+Sources
+</dt>
+<dd>
+<p>
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextKit">https://dvcs.projects.maemo.org/git/?p=ContextKit</a>
+</p>
+</dd>
+</dl></div>
+<div class="dlist"><div class="title"><tt>context-commander</tt></div><dl>
+<dt class="hdlist1">
+Languages
+</dt>
+<dd>
+<p>
+C++
+</p>
+</dd>
+<dt class="hdlist1">
+License
+</dt>
+<dd>
+<p>
+LGPL 2.1
+</p>
+</dd>
+<dt class="hdlist1">
+Provided interfaces
+</dt>
+<dd>
+<p>
+none
+</p>
+</dd>
+<dt class="hdlist1">
+Used interfaces
+</dt>
+<dd>
+<p>
+libcontextsubscriber, libqt4-dbus, libqt4-gui, libqt4-core
+</p>
+</dd>
+<dt class="hdlist1">
+Binary packages
+</dt>
+<dd>
+<p>
+context-commander
+</p>
+</dd>
+<dt class="hdlist1">
+Sources
+</dt>
+<dd>
+<p>
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextCommander">https://dvcs.projects.maemo.org/git/?p=ContextCommander</a>
+</p>
+</dd>
+</dl></div>
+<div class="dlist"><div class="title"><tt>context-provider-example</tt></div><dl>
+<dt class="hdlist1">
+Languages
+</dt>
+<dd>
+<p>
+C
+</p>
+</dd>
+<dt class="hdlist1">
+License
+</dt>
+<dd>
+<p>
+LGPL 2.1
+</p>
+</dd>
+<dt class="hdlist1">
+Provided interfaces
+</dt>
+<dd>
+<p>
+Context.Example.* properties.
+</p>
+</dd>
+<dt class="hdlist1">
+Used interfaces
+</dt>
+<dd>
+<p>
+libcontextprovider, sysfs files for accelerometer and ambient light sensor
+</p>
+</dd>
+<dt class="hdlist1">
+Binary packages
+</dt>
+<dd>
+<p>
+context-provider-example
+</p>
+</dd>
+<dt class="hdlist1">
+Sources
+</dt>
+<dd>
+<p>
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextProviderExample">https://dvcs.projects.maemo.org/git/?p=ContextProviderExample</a>
+</p>
+</dd>
+</dl></div>
+<div class="dlist"><div class="title"><tt>context-subscriber-example</tt></div><dl>
+<dt class="hdlist1">
+Languages
+</dt>
+<dd>
+<p>
+C++
+</p>
+</dd>
+<dt class="hdlist1">
+License
+</dt>
+<dd>
+<p>
+LGPL 2.1
+</p>
+</dd>
+<dt class="hdlist1">
+Provided interfaces
+</dt>
+<dd>
+<p>
+none.
+</p>
+</dd>
+<dt class="hdlist1">
+Used interfaces
+</dt>
+<dd>
+<p>
+Context.Example.* properties, libcontextsubscriber, libqt4-gui, libqt4-core
+</p>
+</dd>
+<dt class="hdlist1">
+Binary packages
+</dt>
+<dd>
+<p>
+context-subscriber-example
+</p>
+</dd>
+<dt class="hdlist1">
+Sources
+</dt>
+<dd>
+<p>
+<a href="https://dvcs.projects.maemo.org/git/?p=ContextSubscriberExample">https://dvcs.projects.maemo.org/git/?p=ContextSubscriberExample</a>
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_performance">Performance</h2>
+<div class="sectionbody">
+<h3 id="_general">General</h3><div style="clear:left"></div>
+<div class="paragraph"><p>The Context Framework makes no real-time guarantees and does not rely
+on any.</p></div>
+<div class="paragraph"><p>It is careful not to cause significant additional communication that
+wouldn&#8217;t be needed anyway to communicate contextual information to the
+interested parties.</p></div>
+<div class="paragraph"><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="tableblock">
+<table rules="all"
+width="100%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">OneNAND</p></td>
+<td align="left" valign="top"><p class="table">All files are stored on the OneNAND, in their FHS mandated places</p></td>
+<td align="left" valign="top"><p class="table">200 KiB</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">eMMC</p></td>
+<td align="left" valign="top"><p class="table">Not used</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">RAM/Idle</p></td>
+<td align="left" valign="top"><p class="table">A couple of bytes per subscription plus a couple more per provided property</p></td>
+<td align="left" valign="top"><p class="table">200 KiB</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">RAM/Peak</p></td>
+<td align="left" valign="top"><p class="table">The biggest property values might reach a KiB</p></td>
+<td align="left" valign="top"><p class="table">500 KiB</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h3 id="_runtime">Runtime</h3><div style="clear:left"></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>The Context Daemon needs to follow the same rules, of course.</p></div>
+<div class="paragraph"><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="ulist"><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="paragraph"><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="paragraph"><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="paragraph"><p>However, the unified API and central maintenance of the list of core
+properties carries a lot of value:</p></div>
+<div class="ulist"><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="paragraph"><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="paragraph"><p>The context framework provides a good alternative in those cases.</p></div>
+</li>
+</ul></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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-23 15:50:03 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/context-intro.html b/doc/context-intro.html
new file mode 100644
index 00000000..022ca02a
--- /dev/null
+++ b/doc/context-intro.html
@@ -0,0 +1,502 @@
+<!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.4.4" />
+<title>Context Framework</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</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>
+</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="paragraph"><p>The Context Framework provides a uniform, high level API to numerous
+context properties of the device.</p></div>
+<div class="paragraph"><p>Please follow the links for more details:</p></div>
+<div class="ulist"><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-06-09 08:20:36 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/context-providers.html b/doc/context-providers.html
new file mode 100644
index 00000000..64119f15
--- /dev/null
+++ b/doc/context-providers.html
@@ -0,0 +1,617 @@
+<!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.4.4" />
+<title>How to provide context properties</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</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>
+</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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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 3.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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>The XML element tree in the property declaration file simply consists
+of a list of <tt>key</tt> elements.</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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 3.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="paragraph"><p>Context property names can contain any character except "/".</p></div>
+<div class="paragraph"><p>Only core property names are allowed to start with a capital ASCII
+letter ("A" to "Z").</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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 3.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="paragraph"><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&#8217;s type and documentation are found elsewhere.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-08-18 11:11:54 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/context-types.html b/doc/context-types.html
new file mode 100644
index 00000000..0ffcd113
--- /dev/null
+++ b/doc/context-types.html
@@ -0,0 +1,1140 @@
+<!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.4.4" />
+<title>A high-level type system for the Free Desktops</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</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>
+</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="paragraph"><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="paragraph"><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="paragraph"><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&#8217;t cut it.</p></div>
+<div class="paragraph"><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="paragraph"><p>The common type system defined here is rich enough to represent any
+reasonable value; it&#8217;s roughly equivalent to what dynamic languages
+like Perl and Python have.</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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&#8217;t go as far since
+intentional types are not available.</p></div>
+<div class="paragraph"><p>Dynamic languages often don&#8217;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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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 3.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="paragraph"><p>We also give a list of common intentional types, of course.</p></div>
+<div class="paragraph"><p>This document then has three dimensions of extensibility:</p></div>
+<div class="ulist"><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="paragraph"><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="paragraph"><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&#8217;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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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&#8217;t
+bother with representational types at all&#8230; ]</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><p>What we are defining then is nothing more than the rules for
+converting values between different representations.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+null
+</p>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="_association_trees">Association trees</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>A map (or dictionary, or hashtable) is a useful data structure, and by
+nesting them you can express a lot of interesting things. Two things
+are missing however: maps do not preserve the order of their entries,
+and they don&#8217;t allow duplicate keys. These two things are often
+necessary.</p></div>
+<div class="paragraph"><p>So, we like to use lists insteads of maps and define a couple of
+conventions how to express associations between things with them. The
+resulting values are called "association trees".</p></div>
+<div class="paragraph"><p>An association tree always has a name (which is always a string), and
+has either a single value, or a list of subordinate association trees.</p></div>
+<div class="paragraph"><p>An association tree is represented as a list. The first element is
+the name. If the association tree is of the first form, then the list
+always has a second element, which is the value. In the second form,
+the remaining elements of the list after the name are the subordinate
+association trees.</p></div>
+<div class="paragraph"><p>A couple of example will hopefully show that this is all very simple:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+The first form, essentially a key/value pair:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>[ 'foo', 12 ]</tt></pre>
+</div></div>
+</li>
+<li>
+<p>
+The second form, with two sub-trees:
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>[ 'foo', [ 'bar', 42 ], [ 'baz', 'quux' ]]</tt></pre>
+</div></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>The second example can be interpreted as mapping the "key path"
+foo/bar to 12, and the path foo/baz to <em>quux</em>.</p></div>
+<div class="paragraph"><p>As you can see, the two forms of a assocation tree can not be reliably
+distinguished from each other just by looking at them. This tree</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>[ 'foo', [ 'bar', 12 ]]</tt></pre>
+</div></div>
+<div class="paragraph"><p>can be interpreted both as mapping foo to the value [ <em>bar</em>, 12 ], and
+as mapping foo/bar to 12. You have to know what is intended and use
+the right interpretation.</p></div>
+<div class="paragraph"><p>As a special case, a association tree with an empty list of sub-trees
+can be expressed just with a string, which is the name of the tree.
+Thus, the following two lines are equivalent:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>[ 'foo ' ]
+'foo'</tt></pre>
+</div></div>
+<div class="paragraph"><p>Language bindings for association trees usually offer the following
+operations:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>name (tree): returns the name of the tree (which is either the first
+ element of tree if it is a list, or tree itself if
+ it isn't)</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>value (tree): returns the value of the tree (which is the second
+ element of tree, which must be a list)</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>node (tree, name): returns the first sub-tree with the given name of tree.</tt></pre>
+</div></div>
+<div class="paragraph"><p>Usually, convenience functions are provided as well that make
+accessing values and nodes at the end of a key path less verbose:</p></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>value (tree, name1) == value (node (tree, name1))
+value (tree, name1, name2) == value (node (node (tree, name1), name2))
+..etc..</tt></pre>
+</div></div>
+<div class="literalblock">
+<div class="content">
+<pre><tt>node (tree, name1, name2) == node (node (tree, name1), name2))
+..etc..</tt></pre>
+</div></div>
+<div class="paragraph"><p>Of course, association trees are one of the pre-defined intentional
+types.</p></div>
+<div class="paragraph"><p>Association trees are very useful. This Desktop Types system uses
+them for type definitions, for example, and also for type references.</p></div>
+</div>
+<h2 id="_a_nano_dom">A Nano-DOM</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Association trees (see above) can be used to represent 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="paragraph"><p>Association trees tht are used to represent XML are called Nano-DOM
+here, since they can fulfill the role of a document object model.</p></div>
+<div class="paragraph"><p>Converting a piece of XML into its Nano-DOM representation proceeds
+according to simple rules:</p></div>
+<div class="ulist"><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 equivalent:
+</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
+ association trees with the name of the tree being the name of the
+ element, and the remaining elements of the association tree list
+ being the children 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="paragraph"><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;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',
+ ['list', ['type', 'number' ] ]
+ ]
+]</tt></pre>
+</div></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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.</p></div>
+<div class="paragraph"><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&#8217;s actually a "int-enum" and specify
+the concrete values.</p></div>
+<div class="paragraph"><p>To recap: when referring to a type, you need to specify its name and
+you can optionally specify values for some or all of its parameters.
+Such a type reference is expressed as a association tree: the name of
+the tree gives the name of the referenced type, and the sub-trees give
+values for parameters. Of course, the name of such a sub-tree names
+the parameter, and the value of the sub-tree usually gives the value
+of that parameter.</p></div>
+<div class="paragraph"><p>Formally, however, it is up to the type definiton to say how a
+association tree that refers to it is being interpreted. The
+"string-enum" type, for example, does not define any parameters for
+itself; instead, it specifies that the sub-trees in a reference to it
+should be interpreted as naming the possible enumeration choices. (If
+that sounds too obscure, just ignore it for now. It will become
+clear.)</p></div>
+<div class="paragraph"><p>Type references are written in XML by following the Nano-DOM rules, of
+course.</p></div>
+<div class="paragraph"><p>A type definition is also expressed as an association tree. The name
+of such a tree is always the string "type", to identify it as a type
+definition. The following key paths can be used in a type definition:</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+type/name (string)
+ The symbolic name of the type. Don&#8217;t use too fancy characters here.
+</p>
+</li>
+<li>
+<p>
+type/doc (string)
+ The documentation for the type.
+</p>
+</li>
+<li>
+<p>
+type/base (type)
+ The base type for this type. All values that are valid for this
+ type are valid for the base type, and if a piece of code does not
+ understand this type, it is allowed to use the base type instead.
+</p>
+</li>
+<li>
+<p>
+type/parms (node)
+ The parameters of this type, one per sub-tree of this node. If you
+ want to specify special rules for interpreting association trees
+ that refer to this type, just omit the type/parms node in the
+ definition.
+</p>
+</li>
+<li>
+<p>
+type/parms/&lt;p&gt;/doc (string)
+ The documentation for parameter &lt;p&gt;.
+</p>
+</li>
+<li>
+<p>
+type/parms/&lt;p&gt;/type (type)
+ The type for parameter &lt;p&gt;.
+ XXX - this doesn&#8217;t really work since XML can only express association trees.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>As an example, consider a hypothetical XML schema for describing
+key-value pairs. Let&#8217;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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>The common intentional types are defined <a href="core-types.html">here</a>.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-11-13 11:03:55 EEST
+</div>
+</div>
+</body>
+</html>
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..7a4dc627
--- /dev/null
+++ b/doc/fig4.png
Binary files differ
diff --git a/doc/use-cases.html b/doc/use-cases.html
new file mode 100644
index 00000000..a876d16f
--- /dev/null
+++ b/doc/use-cases.html
@@ -0,0 +1,1183 @@
+<!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.4.4" />
+<title>ContextKit Use Cases</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</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>
+</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="dlist"><dl>
+<dt class="hdlist1">
+3
+</dt>
+<dd>
+<p>
+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)
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Connectivity.HasInternet</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+5
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+10
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Location.PointOfInterest</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+11
+</dt>
+<dd>
+<p>
+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&#8217;s 3am in LA - are you sure you wish to make the call?"
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Location.TimezoneOffset</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+14
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == Running</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+15
+</dt>
+<dd>
+<p>
+View meeting location from Calendar meeting invitation, possibility
+to navigate to location from current position
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>(maps people)</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+16
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Location.City etc</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+18
+</dt>
+<dd>
+<p>
+Text-to-speech preview of messages (make "listen" option visible),
+learn if user always wants to hear messages in the car or not
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == InCar (no learning)</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+19
+</dt>
+<dd>
+<p>
+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
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == InOffice</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+20
+</dt>
+<dd>
+<p>
+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)
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Map context into content ontology.</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+21
+</dt>
+<dd>
+<p>
+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
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Connectivity.HasInternet
+Connectivity.InternetIsFlatRate</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+22
+</dt>
+<dd>
+<p>
+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&#8217;s current activity or mode of traveling (walking,
+driving, etc.)
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+29
+</dt>
+<dd>
+<p>
+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)
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Environment.NearbyContacts
+Environment.ConnectedContacts</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+30
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation == Commuting</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+32
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>State.Situation, but mostly connectivity people</tt></pre>
+</div></div>
+</dd>
+<dt class="hdlist1">
+41
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="literalblock">
+<div class="content">
+<pre><tt>Hmmm.</tt></pre>
+</div></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_should_have">Should Have</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+4
+</dt>
+<dd>
+<p>
+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?)
+</p>
+<div class="paragraph"><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>
+</dd>
+<dt class="hdlist1">
+9
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+12
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+17
+</dt>
+<dd>
+<p>
+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&#8217;s
+environments and schedule) - user does not have to manually
+activate/disable WLAN search.
+</p>
+</dd>
+<dt class="hdlist1">
+23
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+26
+</dt>
+<dd>
+<p>
+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)
+</p>
+</dd>
+<dt class="hdlist1">
+27
+</dt>
+<dd>
+<p>
+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&#8217;s time to leave (based on distance and optionally also traffic
+conditions, mode of traveling, etc.)
+</p>
+</dd>
+<dt class="hdlist1">
+28
+</dt>
+<dd>
+<p>
+Some context-based recommendations, suggestions, etc. showed
+occasionally on the map (needs to be tested with the user if they like
+this..)
+</p>
+</dd>
+<dt class="hdlist1">
+34
+</dt>
+<dd>
+<p>
+When device is on a desk or other hard surface the vibra is not
+used for alerting, just the nice ring tone I&#8217;ve selected
+</p>
+</dd>
+<dt class="hdlist1">
+35
+</dt>
+<dd>
+<p>
+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)
+</p>
+</dd>
+<dt class="hdlist1">
+38
+</dt>
+<dd>
+<p>
+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)
+</p>
+</dd>
+<dt class="hdlist1">
+40
+</dt>
+<dd>
+<p>
+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)
+</p>
+</dd>
+<dt class="hdlist1">
+42
+</dt>
+<dd>
+<p>
+Unplugging headset pauses the music
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_nice_to_have">Nice to Have</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+7
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+8
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+24
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+25
+</dt>
+<dd>
+<p>
+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.)
+</p>
+</dd>
+<dt class="hdlist1">
+31
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+33
+</dt>
+<dd>
+<p>
+Shouting “where are you” to the handbag, device turns the lights on
+(easier to find)
+</p>
+</dd>
+<dt class="hdlist1">
+36
+</dt>
+<dd>
+<p>
+Shake device to play/show random media item
+</p>
+</dd>
+<dt class="hdlist1">
+37
+</dt>
+<dd>
+<p>
+When jogging/walking detect the pace and UI could propose songs
+that would fit to the pace
+</p>
+</dd>
+<dt class="hdlist1">
+39
+</dt>
+<dd>
+<p>
+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)
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_to_be_prioritized">To be prioritized</h2>
+<div class="sectionbody">
+<div class="dlist"><dl>
+<dt class="hdlist1">
+6
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+13
+</dt>
+<dd>
+<p>
+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&#8217;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.
+</p>
+</dd>
+<dt class="hdlist1">
+43
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+44
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+45
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+46
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+<dt class="hdlist1">
+47
+</dt>
+<dd>
+<p>
+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.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>48</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+49
+</dt>
+<dd>
+<p>
+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
+</p>
+</dd>
+<dt class="hdlist1">
+50
+</dt>
+<dd>
+<p>
+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
+</p>
+</dd>
+<dt class="hdlist1">
+51
+</dt>
+<dd>
+<p>
+User does a search for adverts based on a specific location or
+context (ad pull).
+</p>
+<div class="paragraph"><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>
+</dd>
+<dt class="hdlist1">
+52
+</dt>
+<dd>
+<p>
+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
+</p>
+</dd>
+<dt class="hdlist1">
+53
+</dt>
+<dd>
+<p>
+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
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_notes">Notes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Widget recommendation in widget library based on users
+interestes, needs and most used applications</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><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="paragraph"><p>Send email to nearby contacts. E.g. People in the same meeting
+room to hare some documents</p></div>
+<div class="paragraph"><p>Recipient status. It can give some indication when you can
+expect a reply</p></div>
+<div class="paragraph"><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="paragraph"><p>Reacting to events. E.g. Silencing notifications of new
+messages when user is in a meeting.</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><p>These areas still need to provide use cases. I am chasing up
+asap.</p></div>
+<div class="paragraph"><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-05-26 13:59:43 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/install-sh b/install-sh
new file mode 100755
index 00000000..6781b987
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# 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-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/libcontextprovider/.gitignore b/libcontextprovider/.gitignore
deleted file mode 100644
index 050a9d63..00000000
--- a/libcontextprovider/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-mocs.cpp
-contextprovider-1.0.pc
-contextprovider-1.0-uninstalled.pc
-/customer-tests/coverage-build/Makefile.coverage
-coverage/
-
-# Symlink
-/src/context
diff --git a/libcontextprovider/Makefile.in b/libcontextprovider/Makefile.in
new file mode 100644
index 00000000..2f091d06
--- /dev/null
+++ b/libcontextprovider/Makefile.in
@@ -0,0 +1,673 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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-uninstalled.pc.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/dolt.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 \
+ contextprovider-1.0-uninstalled.pc
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
+DATA = $(pkgconfig_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+contextprovider-1.0.pc: $(top_builddir)/config.status $(srcdir)/contextprovider-1.0.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+contextprovider-1.0-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/contextprovider-1.0-uninstalled.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)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+
+# 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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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 40259a12..00000000
--- a/libcontextprovider/context-provide/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-context-provide
diff --git a/libcontextprovider/context-provide/Makefile.in b/libcontextprovider/context-provide/Makefile.in
new file mode 100644
index 00000000..c2debc6a
--- /dev/null
+++ b/libcontextprovider/context-provide/Makefile.in
@@ -0,0 +1,689 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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$(EXEEXT)
+DIST_COMMON = $(dist_man_MANS) $(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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_context_provide_OBJECTS = context-provide.$(OBJEXT) \
+ commandwatcher.$(OBJEXT) propertyproxy.$(OBJEXT)
+nodist_context_provide_OBJECTS = mocs.$(OBJEXT)
+context_provide_OBJECTS = $(am_context_provide_OBJECTS) \
+ $(nodist_context_provide_OBJECTS)
+context_provide_DEPENDENCIES = ../src/libcontextprovider.la \
+ $(top_builddir)/common/libcommon.la \
+ $(top_builddir)/libcontextsubscriber/src/libcontextsubscriber.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(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)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(context_provide_SOURCES) $(nodist_context_provide_SOURCES)
+DIST_SOURCES = $(context_provide_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(dist_man_MANS)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+context_provide_SOURCES = context-provide.cpp \
+ commandwatcher.cpp commandwatcher.h propertyproxy.h \
+ propertyproxy.cpp
+
+
+# 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 \
+ -I$(top_srcdir)/libcontextsubscriber/src
+context_provide_LDADD = ../src/libcontextprovider.la $(top_builddir)/common/libcommon.la $(top_builddir)/libcontextsubscriber/src/libcontextsubscriber.la
+
+# moccing
+nodist_context_provide_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(context_provide_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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+context-provide$(EXEEXT): $(context_provide_OBJECTS) $(context_provide_DEPENDENCIES)
+ @rm -f context-provide$(EXEEXT)
+ $(CXXLINK) $(context_provide_OBJECTS) $(context_provide_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@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyproxy.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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-man1: $(dist_man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+
+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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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) $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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 uninstall-man
+
+uninstall-man: uninstall-man1
+
+.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-man1 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 \
+ uninstall-man uninstall-man1
+
+
+../src/libcontextprovider.la: FORCE
+ $(MAKE) -C ../src libcontextprovider.la
+
+../../libcontextsubscriber/src/libcontextsubscriber.la: FORCE
+ $(MAKE) -C ../../libcontextsubscriber/src libcontextsubscriber.la
+
+.PHONY: FORCE
+
+# 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..6188e509
--- /dev/null
+++ b/libcontextprovider/customer-tests/Makefile.in
@@ -0,0 +1,668 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = $(dist_libcontextprovidertests_DATA) \
+ $(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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libcontextprovidertestsdir)"
+DATA = $(dist_libcontextprovidertests_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 service
+libcontextprovidertestsdir = $(datadir)/libcontextprovider-tests
+dist_libcontextprovidertests_DATA = tests.xml
+EXTRA_DIST = coverage-build runTests.sh multiprovider env.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_libcontextprovidertestsDATA: $(dist_libcontextprovidertests_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(libcontextprovidertestsdir)" || $(MKDIR_P) "$(DESTDIR)$(libcontextprovidertestsdir)"
+ @list='$(dist_libcontextprovidertests_DATA)'; test -n "$(libcontextprovidertestsdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libcontextprovidertestsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libcontextprovidertestsdir)" || exit $$?; \
+ done
+
+uninstall-dist_libcontextprovidertestsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_libcontextprovidertests_DATA)'; test -n "$(libcontextprovidertestsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(libcontextprovidertestsdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(libcontextprovidertestsdir)" && rm -f $$files
+
+# 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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_libcontextprovidertestsDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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-dist_libcontextprovidertestsDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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-dist_libcontextprovidertestsDATA \
+ 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 \
+ uninstall-dist_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..0cc6012c
--- /dev/null
+++ b/libcontextprovider/customer-tests/c-api/Makefile.in
@@ -0,0 +1,569 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+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
+am__mv = mv -f
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(testdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(testdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(testdir)" && rm -f $$files
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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..24b25f47
--- /dev/null
+++ b/libcontextprovider/customer-tests/client/Makefile.in
@@ -0,0 +1,589 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(testdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(testdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(testdir)" && rm -f $$files
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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/service/.gitignore b/libcontextprovider/customer-tests/service/.gitignore
deleted file mode 100644
index b1f9b3ec..00000000
--- a/libcontextprovider/customer-tests/service/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-servicetest \ No newline at end of file
diff --git a/libcontextprovider/customer-tests/service/Makefile.in b/libcontextprovider/customer-tests/service/Makefile.in
new file mode 100644
index 00000000..013e2194
--- /dev/null
+++ b/libcontextprovider/customer-tests/service/Makefile.in
@@ -0,0 +1,596 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = servicetest$(EXEEXT)
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/am/qt.am
+subdir = libcontextprovider/customer-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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+PROGRAMS = $(test_PROGRAMS)
+am_servicetest_OBJECTS = servicetest.$(OBJEXT)
+nodist_servicetest_OBJECTS = mocs.$(OBJEXT)
+servicetest_OBJECTS = $(am_servicetest_OBJECTS) \
+ $(nodist_servicetest_OBJECTS)
+servicetest_DEPENDENCIES = ../../src/libcontextprovider.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(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)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(servicetest_SOURCES) $(nodist_servicetest_SOURCES)
+DIST_SOURCES = $(servicetest_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+servicetest_SOURCES = servicetest.cpp servicetest.h
+AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) $(QtTest_CFLAGS) -I$(srcdir)/../../src -I$(top_srcdir)/common
+servicetest_LDADD = ../../src/libcontextprovider.la
+
+# moccing
+nodist_servicetest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(servicetest_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/service/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextprovider/customer-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
+$(am__aclocal_m4_deps):
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(testdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(testdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(testdir)" && rm -f $$files
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+servicetest$(EXEEXT): $(servicetest_OBJECTS) $(servicetest_DEPENDENCIES)
+ @rm -f servicetest$(EXEEXT)
+ $(CXXLINK) $(servicetest_OBJECTS) $(servicetest_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)/servicetest.Po@am__quote@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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/servicetest
+../../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/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..74e04e65
--- /dev/null
+++ b/libcontextprovider/customer-tests/subscription/Makefile.in
@@ -0,0 +1,604 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(testdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(testdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(testdir)" && rm -f $$files
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C ../../src libcontextprovider.la
+
+.PHONY: FORCE
+
+# 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..da2cf491
--- /dev/null
+++ b/libcontextprovider/customer-tests/types/Makefile.in
@@ -0,0 +1,598 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+EXTRA_DIST = types.py
+
+# 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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(testdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(testdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(testdir)" && rm -f $$files
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C ../../src libcontextprovider.la
+.PHONY: FORCE
+
+# 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..f7fa0f50
--- /dev/null
+++ b/libcontextprovider/customer-tests/value-changes/Makefile.in
@@ -0,0 +1,598 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(testdir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-testPROGRAMS: $(test_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(testdir)" || $(MKDIR_P) "$(DESTDIR)$(testdir)"
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(testdir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-testPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(test_PROGRAMS)'; test -n "$(testdir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(testdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(testdir)" && rm -f $$files
+
+clean-testPROGRAMS:
+ @list='$(test_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-testPROGRAMS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C ../../src libcontextprovider.la
+.PHONY: FORCE
+
+# 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..1a8f0121
--- /dev/null
+++ b/libcontextprovider/doc/Makefile.in
@@ -0,0 +1,417 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: html/index.html
+
+html/index.html: ../src/*.cpp ../src/*.h
+ @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/html/_context_provider.html b/libcontextprovider/doc/html/_context_provider.html
new file mode 100644
index 00000000..e0657600
--- /dev/null
+++ b/libcontextprovider/doc/html/_context_provider.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/annotated.html b/libcontextprovider/doc/html/annotated.html
new file mode 100644
index 00000000..f78401a2
--- /dev/null
+++ b/libcontextprovider/doc/html/annotated.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_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_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td class="indexvalue">A DBus adaptor for implementing the org.maemo.contextkit.Property </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="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td class="indexvalue">The private implementation 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> </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>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/capi.html b/libcontextprovider/doc/html/capi.html
new file mode 100644
index 00000000..6f147e6b
--- /dev/null
+++ b/libcontextprovider/doc/html/capi.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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" id="CApi">C Api </a></h1><p>The libcontextprovider library offers a simple plain-C API to be used from any C program.</p>
+<h2><a class="anchor" id="Usage">
+Usage</a></h2>
+<div class="fragment"><pre class="fragment"> <a class="code" href="contextc_8cpp.html#a33b9763ab39ce494e115bffcab36360f" 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">&quot;org.test.provider&quot;</span>);
+
+ <a class="code" href="contextc_8cpp.html#aa6873ed47e24aaa57d4a327afaf24899" title="Installs (adds) a key to be provided by the service.">context_provider_install_key</a>(<span class="stringliteral">&quot;Battery.OnBattery&quot;</span>, 0, NULL, NULL);
+ <a class="code" href="contextc_8cpp.html#aa6873ed47e24aaa57d4a327afaf24899" title="Installs (adds) a key to be provided by the service.">context_provider_install_key</a>(<span class="stringliteral">&quot;Battery.ChargePercentage&quot;</span>, 0, NULL, NULL);
+
+ <a class="code" href="contextc_8cpp.html#a0671fc551fe7ef0a5b51d0f9e3ffad96" title="Sets the key to a specified boolean value.">context_provider_set_boolean</a>(<span class="stringliteral">&quot;Battery.OnBattery&quot;</span>, 1);
+ <a class="code" href="contextc_8cpp.html#aac6f0ad56b4d250a2acb9b1af64eaa84" title="Sets the key to a specified integer value.">context_provider_set_integer</a>(<span class="stringliteral">&quot;Battery.ChargePercentage&quot;</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>
+<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.</p>
+<h2><a class="anchor" id="Callbacks">
+Callbacks</a></h2>
+<p>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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..81e63ccb
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_feature-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">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#a7c0d22d25f95a49373b195d8c55d1dc7">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ab7cbc24
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_feature.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>This class represents a "feature" in the logging framework/system.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">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="#af1dc3766a0b0e21ba0a2f22a3102d09b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#a7c0d22d25f95a49373b195d8c55d1dc7">getName</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the feature. <a href="#a7c0d22d25f95a49373b195d8c55d1dc7"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class represents a "feature" in the logging framework/system. </p>
+<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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b" title="Constructor for a new feature.name is the feature name.">ContextFeature</a>(<span class="stringliteral">&quot;introspection&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Message&quot;</span>;
+ ...
+</pre></div><p>One message can belong to many features or to none. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af1dc3766a0b0e21ba0a2f22a3102d09b"></a><!-- doxytag: member="ContextFeature::ContextFeature" ref="af1dc3766a0b0e21ba0a2f22a3102d09b" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7c0d22d25f95a49373b195d8c55d1dc7"></a><!-- doxytag: member="ContextFeature::getName" ref="a7c0d22d25f95a49373b195d8c55d1dc7" 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>
+<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>
+<li><a class="el" href="logging_8cpp.html">logging.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2a0840f6
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4">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#ab0c2fe89e51597d807597ef5b17b8d84">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#a63bd74cceebb98ef6372b1040b971479">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#adfdc508e85a6526c7e5201934b5ca9c5">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#af6ebd9e89ea1f543d33867fad44ba15e">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#a494ce3334c4665e89ca651bd34fc7acb">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#a076cdbd5346aecee1b944451e5d6a5b8">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#a28743608278b85f0dc0170d2c5774e3e">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#a66b1bd39a6d13e7623ea1213574a25f8">~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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1be1f439
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group.html
@@ -0,0 +1,259 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#ab0c2fe89e51597d807597ef5b17b8d84">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="#ab0c2fe89e51597d807597ef5b17b8d84"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#a494ce3334c4665e89ca651bd34fc7acb">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="#a494ce3334c4665e89ca651bd34fc7acb"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#adfdc508e85a6526c7e5201934b5ca9c5">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="#adfdc508e85a6526c7e5201934b5ca9c5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#a66b1bd39a6d13e7623ea1213574a25f8">~Group</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#a66b1bd39a6d13e7623ea1213574a25f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4">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="#aa4996d5fbeb27344439a2485f0de87e4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group.html#af6ebd9e89ea1f543d33867fad44ba15e">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="#af6ebd9e89ea1f543d33867fad44ba15e"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a63bd74cceebb98ef6372b1040b971479">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="#a63bd74cceebb98ef6372b1040b971479"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a076cdbd5346aecee1b944451e5d6a5b8">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" 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#a28743608278b85f0dc0170d2c5774e3e">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>
+<p>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>
+<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>
+<p>For example, </p>
+<div class="fragment"><pre class="fragment"> Property location(<span class="stringliteral">&quot;Location&quot;</span>);
+ Property altitude(<span class="stringliteral">&quot;Altitude&quot;</span>);
+
+ <a class="code" href="class_context_provider_1_1_group.html#adfdc508e85a6526c7e5201934b5ca9c5" 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#ab0c2fe89e51597d807597ef5b17b8d84" 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#a494ce3334c4665e89ca651bd34fc7acb" 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>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="adfdc508e85a6526c7e5201934b5ca9c5"></a><!-- doxytag: member="ContextProvider::Group::Group" ref="adfdc508e85a6526c7e5201934b5ca9c5" 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>
+<a class="anchor" id="a66b1bd39a6d13e7623ea1213574a25f8"></a><!-- doxytag: member="ContextProvider::Group::~Group" ref="a66b1bd39a6d13e7623ea1213574a25f8" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa4996d5fbeb27344439a2485f0de87e4"></a><!-- doxytag: member="ContextProvider::Group::add" ref="aa4996d5fbeb27344439a2485f0de87e4" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab0c2fe89e51597d807597ef5b17b8d84"></a><!-- doxytag: member="ContextProvider::Group::firstSubscriberAppeared" ref="ab0c2fe89e51597d807597ef5b17b8d84" 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>
+<p>I.e., when none of them were subscribed to and now some of them were subscribed to. </p>
+
+</div>
+</div>
+<a class="anchor" id="a63bd74cceebb98ef6372b1040b971479"></a><!-- doxytag: member="ContextProvider::Group::getProperties" ref="a63bd74cceebb98ef6372b1040b971479" 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>
+<a class="anchor" id="af6ebd9e89ea1f543d33867fad44ba15e"></a><!-- doxytag: member="ContextProvider::Group::isSubscribedTo" ref="af6ebd9e89ea1f543d33867fad44ba15e" 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>
+<a class="anchor" id="a494ce3334c4665e89ca651bd34fc7acb"></a><!-- doxytag: member="ContextProvider::Group::lastSubscriberDisappeared" ref="a494ce3334c4665e89ca651bd34fc7acb" 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>
+<p>I.e., when some of them were subscribed to and now all of them were unsubscribed from. </p>
+
+</div>
+</div>
+<a class="anchor" id="a28743608278b85f0dc0170d2c5774e3e"></a><!-- doxytag: member="ContextProvider::Group::operator&lt;&lt;" ref="a28743608278b85f0dc0170d2c5774e3e" 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">
+
+</div>
+</div>
+<a class="anchor" id="a076cdbd5346aecee1b944451e5d6a5b8"></a><!-- doxytag: member="ContextProvider::Group::operator&lt;&lt;" ref="a076cdbd5346aecee1b944451e5d6a5b8" 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">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="group_8cpp.html">group.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..101b79e5
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group_listener-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_group_listener.html#a7ca28f3f65eac2882bfe6eac4b2468b1">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#a00a56babe6eaec539b1df50861e00180">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#a368c85228815acdd0e6964f0da75e152">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c249c464
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_group_listener.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p><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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_group_listener.html#a00a56babe6eaec539b1df50861e00180">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#af72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, void *dt)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a7ca28f3f65eac2882bfe6eac4b2468b1">clear</a> ()</td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a00a56babe6eaec539b1df50861e00180"></a><!-- doxytag: member="ContextProvider::GroupListener::GroupListener" ref="a00a56babe6eaec539b1df50861e00180" 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#af72f0df7ce613305c3beabeab61e57dd">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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7ca28f3f65eac2882bfe6eac4b2468b1"></a><!-- doxytag: member="ContextProvider::GroupListener::clear" ref="a7ca28f3f65eac2882bfe6eac4b2468b1" 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>Implements <a class="el" href="class_context_provider_1_1_listener.html#ad60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>.</p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="listeners_8cpp.html">listeners.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a86385ed
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_listener-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_listener.html#ad60c66c519e5941a71b0becc0d3abf5c">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#a368c85228815acdd0e6964f0da75e152">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ac42d30e
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_listener.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p><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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_listener.html#a368c85228815acdd0e6964f0da75e152">Listener</a> (bool clears, <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, void *dt)</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_listener.html#ad60c66c519e5941a71b0becc0d3abf5c">clear</a> ()=0</td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a368c85228815acdd0e6964f0da75e152"></a><!-- doxytag: member="ContextProvider::Listener::Listener" ref="a368c85228815acdd0e6964f0da75e152" 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#af72f0df7ce613305c3beabeab61e57dd">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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad60c66c519e5941a71b0becc0d3abf5c"></a><!-- doxytag: member="ContextProvider::Listener::clear" ref="ad60c66c519e5941a71b0becc0d3abf5c" 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>Implemented in <a class="el" href="class_context_provider_1_1_property_listener.html#afd2fac0dfe47e45fb7a80b51f5565eef">ContextProvider::PropertyListener</a>, and <a class="el" href="class_context_provider_1_1_group_listener.html#a7ca28f3f65eac2882bfe6eac4b2468b1">ContextProvider::GroupListener</a>.</p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="listeners_8cpp.html">listeners.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b1f7aae8
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property.html#aedb511bfc215c2933193d5685c574943">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#acd83fed5c066aa375148738744e5b3e3">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#ab88d712808775617a9839523c537afcb">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#a586f7dff49a3c4536acc289c314586ee">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#a8b66e2cb81aca7f0162a51bb0e9c93f5">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#a62299c267b73e990a03faf3113445f9e">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#a44c5ff15b11d53d2a44bc77cacb41314">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#aa65dc7374559b7a7d86034b8c9ef9807">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#af05d9adb2b2ee2a5d66e6a9875ccd167">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#a3c5fbb4b6f0ce1f779c2bfa6190ed8d2">~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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2d77e0b4
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property.html
@@ -0,0 +1,302 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#aedb511bfc215c2933193d5685c574943">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="#aedb511bfc215c2933193d5685c574943"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#a586f7dff49a3c4536acc289c314586ee">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="#a586f7dff49a3c4536acc289c314586ee"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#a8b66e2cb81aca7f0162a51bb0e9c93f5">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="#a8b66e2cb81aca7f0162a51bb0e9c93f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#a62299c267b73e990a03faf3113445f9e">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="#a62299c267b73e990a03faf3113445f9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#a3c5fbb4b6f0ce1f779c2bfa6190ed8d2">~Property</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#a3c5fbb4b6f0ce1f779c2bfa6190ed8d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#ab88d712808775617a9839523c537afcb">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="#ab88d712808775617a9839523c537afcb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#acd83fed5c066aa375148738744e5b3e3">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="#acd83fed5c066aa375148738744e5b3e3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#a44c5ff15b11d53d2a44bc77cacb41314">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="#a44c5ff15b11d53d2a44bc77cacb41314"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#af05d9adb2b2ee2a5d66e6a9875ccd167">value</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current value of the property. <a href="#af05d9adb2b2ee2a5d66e6a9875ccd167"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property.html#aa65dc7374559b7a7d86034b8c9ef9807">unsetValue</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unsets the value. <a href="#aa65dc7374559b7a7d86034b8c9ef9807"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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>
+<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 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. If you delete 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, the associated <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 will turn invalid and you should not use them. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a8b66e2cb81aca7f0162a51bb0e9c93f5"></a><!-- doxytag: member="ContextProvider::Property::Property" ref="a8b66e2cb81aca7f0162a51bb0e9c93f5" 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>
+<a class="anchor" id="a62299c267b73e990a03faf3113445f9e"></a><!-- doxytag: member="ContextProvider::Property::Property" ref="a62299c267b73e990a03faf3113445f9e" 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>
+<p>The default service can be set with <a class="el" href="class_context_provider_1_1_service.html#a385b58aef7878b6e33a3989d139f9a4a" title="Sets the Service object as the default one to use when constructing Property objects...">Service::setAsDefault()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3c5fbb4b6f0ce1f779c2bfa6190ed8d2"></a><!-- doxytag: member="ContextProvider::Property::~Property" ref="a3c5fbb4b6f0ce1f779c2bfa6190ed8d2" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aedb511bfc215c2933193d5685c574943"></a><!-- doxytag: member="ContextProvider::Property::firstSubscriberAppeared" ref="aedb511bfc215c2933193d5685c574943" 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>
+<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>. </p>
+
+</div>
+</div>
+<a class="anchor" id="acd83fed5c066aa375148738744e5b3e3"></a><!-- doxytag: member="ContextProvider::Property::isSet" ref="acd83fed5c066aa375148738744e5b3e3" 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>
+<a class="anchor" id="ab88d712808775617a9839523c537afcb"></a><!-- doxytag: member="ContextProvider::Property::key" ref="ab88d712808775617a9839523c537afcb" 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>
+<a class="anchor" id="a586f7dff49a3c4536acc289c314586ee"></a><!-- doxytag: member="ContextProvider::Property::lastSubscriberDisappeared" ref="a586f7dff49a3c4536acc289c314586ee" 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>
+<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). </p>
+
+</div>
+</div>
+<a class="anchor" id="a44c5ff15b11d53d2a44bc77cacb41314"></a><!-- doxytag: member="ContextProvider::Property::setValue" ref="a44c5ff15b11d53d2a44bc77cacb41314" 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>
+<a class="anchor" id="aa65dc7374559b7a7d86034b8c9ef9807"></a><!-- doxytag: member="ContextProvider::Property::unsetValue" ref="aa65dc7374559b7a7d86034b8c9ef9807" 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>
+<p>This is equivalent to setting it to a null QVariant. </p>
+
+</div>
+</div>
+<a class="anchor" id="af05d9adb2b2ee2a5d66e6a9875ccd167"></a><!-- doxytag: member="ContextProvider::Property::value" ref="af05d9adb2b2ee2a5d66e6a9875ccd167" 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>
+<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. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="property_8cpp.html">property.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor-members.html
new file mode 100644
index 00000000..3b0eb396
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor-members.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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::PropertyAdaptor Member List</h1>This is the complete list of members for <a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#af6f3ed4cf800ee36f5fef5231ad49d01">forgetClients</a>()</td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#ae868927e2b3ade9758f5ab50604d7cb9">Get</a>(QVariantList &amp;values, quint64 &amp;timestamp)</td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td><code> [slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#a660abb2ad421b5f70db4c6a41e8728cf">objectPath</a>() const </td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#ab97e6529a6949024d0339e907d7835f8">PropertyAdaptor</a>(PropertyPrivate *property, QDBusConnection *connection)</td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#a57254ec356721efde35aa72e36f436c9">Subscribe</a>(const QDBusMessage &amp;msg, QVariantList &amp;values, quint64 &amp;timestamp)</td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td><code> [slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#a0a08d426bbede951c3b45795d6885ab8">Unsubscribe</a>(const QDBusMessage &amp;msg)</td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td><code> [slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_adaptor.html#a17f8b6df91329f49291971bdb4397013">ValueChanged</a>(const QVariantList &amp;values, const quint64 &amp;timestamp)</td><td><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td><td><code> [signal]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor.html b/libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor.html
new file mode 100644
index 00000000..7f9e7d6c
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_adaptor.html
@@ -0,0 +1,254 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: ContextProvider::PropertyAdaptor 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_adaptor.html">PropertyAdaptor</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::PropertyAdaptor Class Reference</h1><!-- doxytag: class="ContextProvider::PropertyAdaptor" -->
+<p>A DBus adaptor for implementing the org.maemo.contextkit.Property.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="propertyadaptor_8h_source.html">propertyadaptor.h</a>&gt;</code></p>
+
+<p><a href="class_context_provider_1_1_property_adaptor-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#a57254ec356721efde35aa72e36f436c9">Subscribe</a> (const QDBusMessage &amp;msg, QVariantList &amp;values, quint64 &amp;timestamp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation of the D-Bus method Subscribe. <a href="#a57254ec356721efde35aa72e36f436c9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#a0a08d426bbede951c3b45795d6885ab8">Unsubscribe</a> (const QDBusMessage &amp;msg)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation of the D-Bus method Unsubscribe. <a href="#a0a08d426bbede951c3b45795d6885ab8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#ae868927e2b3ade9758f5ab50604d7cb9">Get</a> (QVariantList &amp;values, quint64 &amp;timestamp)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation of the D-Bus method Get. <a href="#ae868927e2b3ade9758f5ab50604d7cb9"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#a17f8b6df91329f49291971bdb4397013">ValueChanged</a> (const QVariantList &amp;values, const quint64 &amp;timestamp)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#ab97e6529a6949024d0339e907d7835f8">PropertyAdaptor</a> (<a class="el" href="class_context_provider_1_1_property_private.html">PropertyPrivate</a> *property, QDBusConnection *connection)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#ab97e6529a6949024d0339e907d7835f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#a660abb2ad421b5f70db4c6a41e8728cf">objectPath</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object path where the corresponding <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> object should be registered at. <a href="#a660abb2ad421b5f70db4c6a41e8728cf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html#af6f3ed4cf800ee36f5fef5231ad49d01">forgetClients</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the service is stopped and will disappear from D-Bus. <a href="#af6f3ed4cf800ee36f5fef5231ad49d01"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A DBus adaptor for implementing the org.maemo.contextkit.Property. </p>
+<p><a class="el" href="class_context_provider_1_1_property_adaptor.html" title="A DBus adaptor for implementing the org.maemo.contextkit.Property.">PropertyAdaptor</a> represents 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 on D-Bus. It also keeps track of its clients and sets the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> to subscribed or unsubscribed accordingly.</p>
+<p><a class="el" href="class_context_provider_1_1_property_adaptor.html" title="A DBus adaptor for implementing the org.maemo.contextkit.Property.">PropertyAdaptor</a> also listens to values sent by other providers on D-Bus and notifies the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> about them. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab97e6529a6949024d0339e907d7835f8"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::PropertyAdaptor" ref="ab97e6529a6949024d0339e907d7835f8" args="(PropertyPrivate *property, QDBusConnection *connection)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::PropertyAdaptor::PropertyAdaptor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_property_private.html">PropertyPrivate</a> *&nbsp;</td>
+ <td class="paramname"> <em>propertyPrivate</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>
+<p>Creates new adaptor for the given manager with the given dbus connection. The connection <em>conn</em> is not retained. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="af6f3ed4cf800ee36f5fef5231ad49d01"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::forgetClients" ref="af6f3ed4cf800ee36f5fef5231ad49d01" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyAdaptor::forgetClients </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Called when the service is stopped and will disappear from D-Bus. </p>
+<p>If it appears again, the clients will resubscribe, and it shouldn't be a MultipleSubscribe error. Thus, we need to forget the clients when the service is stopped. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae868927e2b3ade9758f5ab50604d7cb9"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::Get" ref="ae868927e2b3ade9758f5ab50604d7cb9" args="(QVariantList &amp;values, quint64 &amp;timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyAdaptor::Get </td>
+ <td>(</td>
+ <td class="paramtype">QVariantList &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">quint64 &amp;&nbsp;</td>
+ <td class="paramname"> <em>timestamp</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>Implementation of the D-Bus method Get. </p>
+
+</div>
+</div>
+<a class="anchor" id="a660abb2ad421b5f70db4c6a41e8728cf"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::objectPath" ref="a660abb2ad421b5f70db4c6a41e8728cf" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextProvider::PropertyAdaptor::objectPath </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Object path where the corresponding <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> object should be registered at. </p>
+<p>For a core propertiy Property.Name (not starting with /), the path is /org/maemo/contextkit/Property/Name. For a non-core property /com/my/property, the object path is /com/my/property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a57254ec356721efde35aa72e36f436c9"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::Subscribe" ref="a57254ec356721efde35aa72e36f436c9" args="(const QDBusMessage &amp;msg, QVariantList &amp;values, quint64 &amp;timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyAdaptor::Subscribe </td>
+ <td>(</td>
+ <td class="paramtype">const QDBusMessage &amp;&nbsp;</td>
+ <td class="paramname"> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QVariantList &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">quint64 &amp;&nbsp;</td>
+ <td class="paramname"> <em>timestamp</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>Implementation of the D-Bus method Subscribe. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0a08d426bbede951c3b45795d6885ab8"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::Unsubscribe" ref="a0a08d426bbede951c3b45795d6885ab8" args="(const QDBusMessage &amp;msg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyAdaptor::Unsubscribe </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>Implementation of the D-Bus method Unsubscribe. </p>
+
+</div>
+</div>
+<a class="anchor" id="a17f8b6df91329f49291971bdb4397013"></a><!-- doxytag: member="ContextProvider::PropertyAdaptor::ValueChanged" ref="a17f8b6df91329f49291971bdb4397013" args="(const QVariantList &amp;values, const quint64 &amp;timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyAdaptor::ValueChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QVariantList &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const quint64 &amp;&nbsp;</td>
+ <td class="paramname"> <em>timestamp</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">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="propertyadaptor_8h_source.html">propertyadaptor.h</a></li>
+<li><a class="el" href="propertyadaptor_8cpp.html">propertyadaptor.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a0c477d5
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_listener-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_listener.html#afd2fac0dfe47e45fb7a80b51f5565eef">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#a368c85228815acdd0e6964f0da75e152">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#a7deeeaa5a67e484dab059ed834315499">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#aaca36ab1765f01f5ed6678a7b0ca3605">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ef98c89e
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_listener.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p><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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_listener.html#aaca36ab1765f01f5ed6678a7b0ca3605">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#af72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> cb, void *dt)</td></tr>
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a7deeeaa5a67e484dab059ed834315499">prop</a></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#afd2fac0dfe47e45fb7a80b51f5565eef">clear</a> ()</td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aaca36ab1765f01f5ed6678a7b0ca3605"></a><!-- doxytag: member="ContextProvider::PropertyListener::PropertyListener" ref="aaca36ab1765f01f5ed6678a7b0ca3605" 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#af72f0df7ce613305c3beabeab61e57dd">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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="afd2fac0dfe47e45fb7a80b51f5565eef"></a><!-- doxytag: member="ContextProvider::PropertyListener::clear" ref="afd2fac0dfe47e45fb7a80b51f5565eef" 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>Implements <a class="el" href="class_context_provider_1_1_listener.html#ad60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a7deeeaa5a67e484dab059ed834315499"></a><!-- doxytag: member="ContextProvider::PropertyListener::prop" ref="a7deeeaa5a67e484dab059ed834315499" 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#a7deeeaa5a67e484dab059ed834315499">ContextProvider::PropertyListener::prop</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="listeners_8cpp.html">listeners.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property_private-members.html b/libcontextprovider/doc/html/class_context_provider_1_1_property_private-members.html
new file mode 100644
index 00000000..fe4cb164
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_private-members.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#a52cec0b190df6ef4033129bfc3948225">firstSubscriberAppeared</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#a224f37bf688444e3cb1c126287e99d8b">lastSubscriberDisappeared</a>(const QString &amp;key)</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#a386f5a9cf65610cb62143865e5637272">Property</a> class</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#aecebf007df205da3f34b7ce4409bdb33">PropertyAdaptor</a> class</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#a95cdc5fa5d6b0a5251708b6adedbd2c0">PropertyPrivate</a>(ServiceBackend *serviceBackend, const QString &amp;key, QObject *parent=0)</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td><code> [explicit]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#aa46fa6bbb5ce1d58e8cc4757126f5d5a">setSubscribed</a>()</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#aa02178d165e6b35fc5332d9c1d1a845f">setUnsubscribed</a>()</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#a113740725c36053cfd542744a7e060c2">setValue</a>(const QVariant &amp;v)</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#ac11f1d3d6c38a4862051d82f4f49f263">updateOverheardValue</a>(const QVariantList &amp;, const quint64 &amp;)</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_property_private.html#a99fb930702a8deaaeb45554bf09a93b6">valueChanged</a>(const QVariantList &amp;values, const quint64 &amp;timestamp)</td><td><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td><td><code> [signal]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/class_context_provider_1_1_property_private.html b/libcontextprovider/doc/html/class_context_provider_1_1_property_private.html
new file mode 100644
index 00000000..4db0eaa6
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_property_private.html
@@ -0,0 +1,291 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: ContextProvider::PropertyPrivate 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_private.html">PropertyPrivate</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextProvider::PropertyPrivate Class Reference</h1><!-- doxytag: class="ContextProvider::PropertyPrivate" -->
+<p>The private implementation 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>.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="propertyprivate_8h_source.html">ContextProvider</a>&gt;</code></p>
+
+<p><a href="class_context_provider_1_1_property_private-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#a99fb930702a8deaaeb45554bf09a93b6">valueChanged</a> (const QVariantList &amp;values, const quint64 &amp;timestamp)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#a52cec0b190df6ef4033129bfc3948225">firstSubscriberAppeared</a> (const QString &amp;key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#a224f37bf688444e3cb1c126287e99d8b">lastSubscriberDisappeared</a> (const QString &amp;key)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#a95cdc5fa5d6b0a5251708b6adedbd2c0">PropertyPrivate</a> (<a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> *serviceBackend, const QString &amp;key, QObject *parent=0)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a95cdc5fa5d6b0a5251708b6adedbd2c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#a113740725c36053cfd542744a7e060c2">setValue</a> (const QVariant &amp;v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set value for the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>. <a href="#a113740725c36053cfd542744a7e060c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#ac11f1d3d6c38a4862051d82f4f49f263">updateOverheardValue</a> (const QVariantList &amp;, const quint64 &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called by <a class="el" href="class_context_provider_1_1_property_adaptor.html" title="A DBus adaptor for implementing the org.maemo.contextkit.Property.">PropertyAdaptor</a> when it has overheard another provider sending a value on D-Bus. <a href="#ac11f1d3d6c38a4862051d82f4f49f263"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#aa46fa6bbb5ce1d58e8cc4757126f5d5a">setSubscribed</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> to subscribed state. <a href="#aa46fa6bbb5ce1d58e8cc4757126f5d5a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#aa02178d165e6b35fc5332d9c1d1a845f">setUnsubscribed</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> to unsubscribed state. <a href="#aa02178d165e6b35fc5332d9c1d1a845f"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#a386f5a9cf65610cb62143865e5637272">Property</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html#aecebf007df205da3f34b7ce4409bdb33">PropertyAdaptor</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>The private implementation 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>. </p>
+<p>For each (ServiceBackend*, key) pair there exists only one <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>; 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 may share it. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a95cdc5fa5d6b0a5251708b6adedbd2c0"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::PropertyPrivate" ref="a95cdc5fa5d6b0a5251708b6adedbd2c0" args="(ServiceBackend *serviceBackend, const QString &amp;key, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextProvider::PropertyPrivate::PropertyPrivate </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_provider_1_1_service_backend.html">ServiceBackend</a> *&nbsp;</td>
+ <td class="paramname"> <em>serviceBackend</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>Constructor. </p>
+<p>Register the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> to its <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>; this will make 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 appear on D-Bus. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a52cec0b190df6ef4033129bfc3948225"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::firstSubscriberAppeared" ref="a52cec0b190df6ef4033129bfc3948225" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::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">
+
+</div>
+</div>
+<a class="anchor" id="a224f37bf688444e3cb1c126287e99d8b"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::lastSubscriberDisappeared" ref="a224f37bf688444e3cb1c126287e99d8b" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::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">
+
+</div>
+</div>
+<a class="anchor" id="aa46fa6bbb5ce1d58e8cc4757126f5d5a"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::setSubscribed" ref="aa46fa6bbb5ce1d58e8cc4757126f5d5a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::setSubscribed </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Set the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> to subscribed state. </p>
+<p>If it was in the unsubscribed state, the firstSubscriberAppeared signal is emitted. (<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> transmits the signal forward.) </p>
+
+</div>
+</div>
+<a class="anchor" id="aa02178d165e6b35fc5332d9c1d1a845f"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::setUnsubscribed" ref="aa02178d165e6b35fc5332d9c1d1a845f" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::setUnsubscribed </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Set the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> to unsubscribed state. </p>
+<p>If it was in the subscribed state, the lastSubscriberDisappeared signal is emitted. (<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> transmits the signal forward.) </p>
+
+</div>
+</div>
+<a class="anchor" id="a113740725c36053cfd542744a7e060c2"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::setValue" ref="a113740725c36053cfd542744a7e060c2" args="(const QVariant &amp;v)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::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>Set value for the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>. </p>
+<p>Results in a valueChanged signal emission, if 1) the value was different than the current value of the <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>, or 2) The provider has overheard another provider setting a different value having a more recent time stamp than our last emission. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac11f1d3d6c38a4862051d82f4f49f263"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::updateOverheardValue" ref="ac11f1d3d6c38a4862051d82f4f49f263" args="(const QVariantList &amp;, const quint64 &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::updateOverheardValue </td>
+ <td>(</td>
+ <td class="paramtype">const QVariantList &amp;&nbsp;</td>
+ <td class="paramname"> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const quint64 &amp;&nbsp;</td>
+ <td class="paramname"> <em>t</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 <a class="el" href="class_context_provider_1_1_property_adaptor.html" title="A DBus adaptor for implementing the org.maemo.contextkit.Property.">PropertyAdaptor</a> when it has overheard another provider sending a value on D-Bus. </p>
+<p>Check if the value is different and more recent than the value we've emitted last. If so, emit our value again. This way we ensure that the client gets the correct time stamp for our value. </p>
+
+</div>
+</div>
+<a class="anchor" id="a99fb930702a8deaaeb45554bf09a93b6"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::valueChanged" ref="a99fb930702a8deaaeb45554bf09a93b6" args="(const QVariantList &amp;values, const quint64 &amp;timestamp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::PropertyPrivate::valueChanged </td>
+ <td>(</td>
+ <td class="paramtype">const QVariantList &amp;&nbsp;</td>
+ <td class="paramname"> <em>values</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const quint64 &amp;&nbsp;</td>
+ <td class="paramname"> <em>timestamp</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">
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a386f5a9cf65610cb62143865e5637272"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::Property" ref="a386f5a9cf65610cb62143865e5637272" 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">
+
+</div>
+</div>
+<a class="anchor" id="aecebf007df205da3f34b7ce4409bdb33"></a><!-- doxytag: member="ContextProvider::PropertyPrivate::PropertyAdaptor" ref="aecebf007df205da3f34b7ce4409bdb33" 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_adaptor.html">PropertyAdaptor</a><code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="propertyprivate_8h_source.html">propertyprivate.h</a></li>
+<li><a class="el" href="propertyprivate_8cpp.html">propertyprivate.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..47b58c21
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service.html#ac3553c08a0c7b57a4c15794caebf1936">::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#a386f5a9cf65610cb62143865e5637272">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#a471dbe35bbd9583f9404b15158f367dd">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#ad9cac0378bb6bc25b65526576a609c6d">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#a2a7310e48f9592828aea6b3f5fda181e">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#a8013904e0bb41e4b8ff0b68d4214b853">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#a385b58aef7878b6e33a3989d139f9a4a">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#ad6bf1d2d8f8c580d4d77e9c4e72fd226">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#aee524632842792e9ad80b122eb8600a1">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#a6434d467cd84a6295bd24572671b5479">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#a25cc85c61a07afe679266fc287da0677">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#a365b50365fd98d8ee7a1b7dd10dd84d2">~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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..afcb24ef
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service.html
@@ -0,0 +1,403 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<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> 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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d">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="#ad9cac0378bb6bc25b65526576a609c6d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a2a7310e48f9592828aea6b3f5fda181e">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="#a2a7310e48f9592828aea6b3f5fda181e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a8013904e0bb41e4b8ff0b68d4214b853">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="#a8013904e0bb41e4b8ff0b68d4214b853"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a365b50365fd98d8ee7a1b7dd10dd84d2">~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="#a365b50365fd98d8ee7a1b7dd10dd84d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a6434d467cd84a6295bd24572671b5479">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="#a6434d467cd84a6295bd24572671b5479"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a25cc85c61a07afe679266fc287da0677">stop</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop the service. <a href="#a25cc85c61a07afe679266fc287da0677"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a471dbe35bbd9583f9404b15158f367dd">restart</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop and start the service. <a href="#a471dbe35bbd9583f9404b15158f367dd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a385b58aef7878b6e33a3989d139f9a4a">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="#a385b58aef7878b6e33a3989d139f9a4a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#aee524632842792e9ad80b122eb8600a1">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="#aee524632842792e9ad80b122eb8600a1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#ad6bf1d2d8f8c580d4d77e9c4e72fd226">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="#ad6bf1d2d8f8c580d4d77e9c4e72fd226"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#a386f5a9cf65610cb62143865e5637272">Property</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service.html#ac3553c08a0c7b57a4c15794caebf1936">::ServiceUnitTest</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<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> 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>
+<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>
+<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 stopped and it disappears from D-Bus (there is a simple ref counting mechanism involved to guarantee that).</p>
+<p>Consider the following examples:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d" 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#ad9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection::SessionBus, <span class="stringliteral">&quot;com.example.simple&quot;</span>);
+ <a class="code" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d" 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#ad9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection::SessionBus, <span class="stringliteral">&quot;com.example.simple&quot;</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 &quot;com.example.simple&quot; 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 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. If you delete 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, the associated <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 will turn invalid and you should not use them.</p>
+<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>
+<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>
+<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>
+<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#ad1447518f4372828b8435ae82e48499e">argc</a>, <span class="keywordtype">char</span>** <a class="code" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">argv</a>) {
+ QCoreApplication <a class="code" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">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&apos;t register</span>
+ <span class="comment">// any service name</span>
+ <a class="code" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d" 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#ad9cac0378bb6bc25b65526576a609c6d" 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#a386f5a9cf65610cb62143865e5637272">Property</a>* myProperty = <span class="keyword">new</span> <a class="code" href="class_context_provider_1_1_service.html#a386f5a9cf65610cb62143865e5637272">Property</a>(myService, <span class="stringliteral">&quot;My.Property&quot;</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">&quot;my.service.name&quot;</span>);
+
+ <span class="keywordflow">return</span> <a class="code" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">app</a>.exec();
+ }
+</pre></div> <hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad9cac0378bb6bc25b65526576a609c6d"></a><!-- doxytag: member="ContextProvider::Service::Service" ref="ad9cac0378bb6bc25b65526576a609c6d" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2a7310e48f9592828aea6b3f5fda181e"></a><!-- doxytag: member="ContextProvider::Service::Service" ref="a2a7310e48f9592828aea6b3f5fda181e" 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>
+<a class="anchor" id="a8013904e0bb41e4b8ff0b68d4214b853"></a><!-- doxytag: member="ContextProvider::Service::Service" ref="a8013904e0bb41e4b8ff0b68d4214b853" 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>
+<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). </p>
+
+</div>
+</div>
+<a class="anchor" id="a365b50365fd98d8ee7a1b7dd10dd84d2"></a><!-- doxytag: member="ContextProvider::Service::~Service" ref="a365b50365fd98d8ee7a1b7dd10dd84d2" 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>
+<p>The actual service on D-Bus is 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). </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a471dbe35bbd9583f9404b15158f367dd"></a><!-- doxytag: member="ContextProvider::Service::restart" ref="a471dbe35bbd9583f9404b15158f367dd" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a385b58aef7878b6e33a3989d139f9a4a"></a><!-- doxytag: member="ContextProvider::Service::setAsDefault" ref="a385b58aef7878b6e33a3989d139f9a4a" 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>
+<a class="anchor" id="ad6bf1d2d8f8c580d4d77e9c4e72fd226"></a><!-- doxytag: member="ContextProvider::Service::setConnection" ref="ad6bf1d2d8f8c580d4d77e9c4e72fd226" 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>
+<p>Deprecated; use constructor with QDBusConnection parameter instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="aee524632842792e9ad80b122eb8600a1"></a><!-- doxytag: member="ContextProvider::Service::setValue" ref="aee524632842792e9ad80b122eb8600a1" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6434d467cd84a6295bd24572671b5479"></a><!-- doxytag: member="ContextProvider::Service::start" ref="a6434d467cd84a6295bd24572671b5479" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a25cc85c61a07afe679266fc287da0677"></a><!-- doxytag: member="ContextProvider::Service::stop" ref="a25cc85c61a07afe679266fc287da0677" 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>
+<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. </p>
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ac3553c08a0c7b57a4c15794caebf1936"></a><!-- doxytag: member="ContextProvider::Service::::ServiceUnitTest" ref="ac3553c08a0c7b57a4c15794caebf1936" 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">
+
+</div>
+</div>
+<a class="anchor" id="a386f5a9cf65610cb62143865e5637272"></a><!-- doxytag: member="ContextProvider::Service::Property" ref="a386f5a9cf65610cb62143865e5637272" 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">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="service_8cpp.html">service.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a5a39106
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service_backend-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_provider_1_1_service_backend.html#aed41fb3009b4b10268a07c9e2fb37ece">::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#a8d167b71faec3c38533717354b2fcf7b">addProperty</a>(const QString &amp;key, PropertyPrivate *property)</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#adba83a5a2a30247be68cd8485b3c6306">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#a03beadb30b9d1f837d372ccc77004595">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#abbf135b68aa7d0e5e9ff294ccfa6e1eb">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#a2b33587710d46129c3554fc405e93858">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#a6474ceb8669761e879329b39c3afb899">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#a2f72a8d1752eb4f930410deed93bd14e">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#a645ad8454046cc430aa1f6b6935e3e39">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#a1f25b50b4abc8e8a5fbdf0b9b38f6691">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#a3380d860b28632814283af9cb48115ad">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#a7b9d7a6b42fde2e7841edd7dbd5589af">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#af0ffcd20b78a6c070b46f2a808974bf5">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#af580af0059e69905ee6aefa55056bdd5">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#a44c270d04037efde600e3f2ba7e4188f">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#a7c22a78525e271a443d0b328c09a8ebb">~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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..32db8922
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_provider_1_1_service_backend.html
@@ -0,0 +1,436 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a2f72a8d1752eb4f930410deed93bd14e">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="#a2f72a8d1752eb4f930410deed93bd14e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a645ad8454046cc430aa1f6b6935e3e39">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="#a645ad8454046cc430aa1f6b6935e3e39"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a7c22a78525e271a443d0b328c09a8ebb">~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="#a7c22a78525e271a443d0b328c09a8ebb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a7b9d7a6b42fde2e7841edd7dbd5589af">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="#a7b9d7a6b42fde2e7841edd7dbd5589af"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#af0ffcd20b78a6c070b46f2a808974bf5">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="#af0ffcd20b78a6c070b46f2a808974bf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#af580af0059e69905ee6aefa55056bdd5">stop</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop the service. <a href="#af580af0059e69905ee6aefa55056bdd5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a8d167b71faec3c38533717354b2fcf7b">addProperty</a> (const QString &amp;key, <a class="el" href="class_context_provider_1_1_property_private.html">PropertyPrivate</a> *property)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate a <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> object with this <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="#a8d167b71faec3c38533717354b2fcf7b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a1f25b50b4abc8e8a5fbdf0b9b38f6691">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="#a1f25b50b4abc8e8a5fbdf0b9b38f6691"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a3380d860b28632814283af9cb48115ad">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="#a3380d860b28632814283af9cb48115ad"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a2b33587710d46129c3554fc405e93858">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="#a2b33587710d46129c3554fc405e93858"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a44c270d04037efde600e3f2ba7e4188f">unref</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease the reference count by one. <a href="#a44c270d04037efde600e3f2ba7e4188f"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a03beadb30b9d1f837d372ccc77004595">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="#a03beadb30b9d1f837d372ccc77004595"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#abbf135b68aa7d0e5e9ff294ccfa6e1eb">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="#abbf135b68aa7d0e5e9ff294ccfa6e1eb"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#adba83a5a2a30247be68cd8485b3c6306">defaultServiceBackend</a></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#aed41fb3009b4b10268a07c9e2fb37ece">::ServiceBackendUnitTest</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_service_backend.html#a6474ceb8669761e879329b39c3afb899">Service</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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>
+<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 (register objects representing <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 and possibly a bus name).</p>
+<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>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a2f72a8d1752eb4f930410deed93bd14e"></a><!-- doxytag: member="ContextProvider::ServiceBackend::ServiceBackend" ref="a2f72a8d1752eb4f930410deed93bd14e" 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>
+<p>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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a645ad8454046cc430aa1f6b6935e3e39"></a><!-- doxytag: member="ContextProvider::ServiceBackend::ServiceBackend" ref="a645ad8454046cc430aa1f6b6935e3e39" 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>
+<p>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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7c22a78525e271a443d0b328c09a8ebb"></a><!-- doxytag: member="ContextProvider::ServiceBackend::~ServiceBackend" ref="a7c22a78525e271a443d0b328c09a8ebb" 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>
+<p>The backend is stopped. If this backend is the defaultServiceBackend, the defaultServiceBackend is set back to NULL. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a8d167b71faec3c38533717354b2fcf7b"></a><!-- doxytag: member="ContextProvider::ServiceBackend::addProperty" ref="a8d167b71faec3c38533717354b2fcf7b" args="(const QString &amp;key, PropertyPrivate *property)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProvider::ServiceBackend::addProperty </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"><a class="el" href="class_context_provider_1_1_property_private.html">PropertyPrivate</a> *&nbsp;</td>
+ <td class="paramname"> <em>property</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Associate a <a class="el" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> object with this <a class="el" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>. </p>
+<p>The corresponding object will appear on D-Bus. </p>
+
+</div>
+</div>
+<a class="anchor" id="abbf135b68aa7d0e5e9ff294ccfa6e1eb"></a><!-- doxytag: member="ContextProvider::ServiceBackend::instance" ref="abbf135b68aa7d0e5e9ff294ccfa6e1eb" 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>
+<p>Creates the instance if it does not exist yet. </p>
+
+</div>
+</div>
+<a class="anchor" id="a03beadb30b9d1f837d372ccc77004595"></a><!-- doxytag: member="ContextProvider::ServiceBackend::instance" ref="a03beadb30b9d1f837d372ccc77004595" 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>
+<p>Creates the instance if it does not exist yet. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2b33587710d46129c3554fc405e93858"></a><!-- doxytag: member="ContextProvider::ServiceBackend::ref" ref="a2b33587710d46129c3554fc405e93858" 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>
+<a class="anchor" id="a1f25b50b4abc8e8a5fbdf0b9b38f6691"></a><!-- doxytag: member="ContextProvider::ServiceBackend::setAsDefault" ref="a1f25b50b4abc8e8a5fbdf0b9b38f6691" 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>
+<a class="anchor" id="a3380d860b28632814283af9cb48115ad"></a><!-- doxytag: member="ContextProvider::ServiceBackend::setValue" ref="a3380d860b28632814283af9cb48115ad" 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>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>Set the value of <em>key</em> to <em>val</em>. </p>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7b9d7a6b42fde2e7841edd7dbd5589af"></a><!-- doxytag: member="ContextProvider::ServiceBackend::sharedConnection" ref="a7b9d7a6b42fde2e7841edd7dbd5589af" 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>
+<a class="anchor" id="af0ffcd20b78a6c070b46f2a808974bf5"></a><!-- doxytag: member="ContextProvider::ServiceBackend::start" ref="af0ffcd20b78a6c070b46f2a808974bf5" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="af580af0059e69905ee6aefa55056bdd5"></a><!-- doxytag: member="ContextProvider::ServiceBackend::stop" ref="af580af0059e69905ee6aefa55056bdd5" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a44c270d04037efde600e3f2ba7e4188f"></a><!-- doxytag: member="ContextProvider::ServiceBackend::unref" ref="a44c270d04037efde600e3f2ba7e4188f" 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>
+<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. The instance is not removed from the instance map and not deleted, though. </p>
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="aed41fb3009b4b10268a07c9e2fb37ece"></a><!-- doxytag: member="ContextProvider::ServiceBackend::::ServiceBackendUnitTest" ref="aed41fb3009b4b10268a07c9e2fb37ece" 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">
+
+</div>
+</div>
+<a class="anchor" id="a6474ceb8669761e879329b39c3afb899"></a><!-- doxytag: member="ContextProvider::ServiceBackend::Service" ref="a6474ceb8669761e879329b39c3afb899" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="adba83a5a2a30247be68cd8485b3c6306"></a><!-- doxytag: member="ContextProvider::ServiceBackend::defaultServiceBackend" ref="adba83a5a2a30247be68cd8485b3c6306" 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#adba83a5a2a30247be68cd8485b3c6306">ContextProvider::ServiceBackend::defaultServiceBackend</a><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="servicebackend_8cpp.html">servicebackend.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5f0b8aab
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_real_logger-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">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#a1ad94fcbdca55015db01b33566642d61">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#a29217f7733d4f5a8d73fa20dea9c2b8f">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#a73b4d5021ffae90cbe7e9f914e307c45">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#ae753079d62a886dd09c0576ad524c8f4">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#aca946deec46d8e37f40b20a978d92ee8">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#a4a3d4d64fb340a1f4adb698106ee6d4b">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#a83a9a63cef3753053154b86da8da52bb">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#a7ffcc463d565ee93eadef3d95b388ac0">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#a149b4fa211448303b24806071a010e07">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#ad3e0dc8c801098e35a385d712369b486">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#a261f1adeed09c748431d960c009280e2">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#adbf345abfa4979dad50fa64587d8b12b">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#acf5deaf1c001736730952794379c9fb2">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#a681ec8a8c8151a6e76de1b1b3aebe902">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#a11114df34f0dc06d4261a98db0c1a413">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#ad45b7a29bfd04c8678e2336964621b16">~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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f26a6c38
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_real_logger.html
@@ -0,0 +1,399 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A real logging class.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">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="#aee3a7c4dac60f4ec39165edf96466637"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ad45b7a29bfd04c8678e2336964621b16">~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="#ad45b7a29bfd04c8678e2336964621b16"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a4a3d4d64fb340a1f4adb698106ee6d4b">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="#a4a3d4d64fb340a1f4adb698106ee6d4b"></a><br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" 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#a83a9a63cef3753053154b86da8da52bb">operator&lt;&lt;</a> (const T &amp;qSomething)</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ae753079d62a886dd09c0576ad524c8f4">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="#ae753079d62a886dd09c0576ad524c8f4"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">showTest</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test messages enabled at runtime. <a href="#adbf345abfa4979dad50fa64587d8b12b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">showDebug</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug messages enabled at runtime. <a href="#a149b4fa211448303b24806071a010e07"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">showWarning</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Warning messages enabled at runtime. <a href="#acf5deaf1c001736730952794379c9fb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">showCritical</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Critical messages enabled at runtime. <a href="#a7ffcc463d565ee93eadef3d95b388ac0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">initialized</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class initialized/env vars parsed. <a href="#aca946deec46d8e37f40b20a978d92ee8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">hideTimestamps</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Don't print timestamps. <a href="#a73b4d5021ffae90cbe7e9f914e307c45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">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="#a681ec8a8c8151a6e76de1b1b3aebe902"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">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="#a261f1adeed09c748431d960c009280e2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">hideModule</a> = NULL</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages from the specified module. <a href="#a29217f7733d4f5a8d73fa20dea9c2b8f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">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="#ad3e0dc8c801098e35a385d712369b486"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">hideFeatures</a> = QStringList()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages with the specified features. <a href="#a1ad94fcbdca55015db01b33566642d61"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">vanilla</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use vanilla (stripped-down) logging. <a href="#a11114df34f0dc06d4261a98db0c1a413"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A real logging class. </p>
+<p>This is used by the actual macros to print messages. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aee3a7c4dac60f4ec39165edf96466637"></a><!-- doxytag: member="ContextRealLogger::ContextRealLogger" ref="aee3a7c4dac60f4ec39165edf96466637" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad45b7a29bfd04c8678e2336964621b16"></a><!-- doxytag: member="ContextRealLogger::~ContextRealLogger" ref="ad45b7a29bfd04c8678e2336964621b16" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae753079d62a886dd09c0576ad524c8f4"></a><!-- doxytag: member="ContextRealLogger::initialize" ref="ae753079d62a886dd09c0576ad524c8f4" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a83a9a63cef3753053154b86da8da52bb"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="a83a9a63cef3753053154b86da8da52bb" 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">
+
+</div>
+</div>
+<a class="anchor" id="a4a3d4d64fb340a1f4adb698106ee6d4b"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="a4a3d4d64fb340a1f4adb698106ee6d4b" 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>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a1ad94fcbdca55015db01b33566642d61"></a><!-- doxytag: member="ContextRealLogger::hideFeatures" ref="a1ad94fcbdca55015db01b33566642d61" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">ContextRealLogger::hideFeatures</a> = QStringList()<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Hide messages with the specified features. </p>
+
+</div>
+</div>
+<a class="anchor" id="a29217f7733d4f5a8d73fa20dea9c2b8f"></a><!-- doxytag: member="ContextRealLogger::hideModule" ref="a29217f7733d4f5a8d73fa20dea9c2b8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger::hideModule</a> = NULL<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Hide messages from the specified module. </p>
+
+</div>
+</div>
+<a class="anchor" id="a73b4d5021ffae90cbe7e9f914e307c45"></a><!-- doxytag: member="ContextRealLogger::hideTimestamps" ref="a73b4d5021ffae90cbe7e9f914e307c45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger::hideTimestamps</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Don't print timestamps. </p>
+
+</div>
+</div>
+<a class="anchor" id="aca946deec46d8e37f40b20a978d92ee8"></a><!-- doxytag: member="ContextRealLogger::initialized" ref="aca946deec46d8e37f40b20a978d92ee8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">ContextRealLogger::initialized</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Class initialized/env vars parsed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7ffcc463d565ee93eadef3d95b388ac0"></a><!-- doxytag: member="ContextRealLogger::showCritical" ref="a7ffcc463d565ee93eadef3d95b388ac0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger::showCritical</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Critical messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="a149b4fa211448303b24806071a010e07"></a><!-- doxytag: member="ContextRealLogger::showDebug" ref="a149b4fa211448303b24806071a010e07" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">ContextRealLogger::showDebug</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Debug messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad3e0dc8c801098e35a385d712369b486"></a><!-- doxytag: member="ContextRealLogger::showFeatures" ref="ad3e0dc8c801098e35a385d712369b486" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">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>
+<a class="anchor" id="a261f1adeed09c748431d960c009280e2"></a><!-- doxytag: member="ContextRealLogger::showModule" ref="a261f1adeed09c748431d960c009280e2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">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>
+<a class="anchor" id="adbf345abfa4979dad50fa64587d8b12b"></a><!-- doxytag: member="ContextRealLogger::showTest" ref="adbf345abfa4979dad50fa64587d8b12b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">ContextRealLogger::showTest</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Test messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="acf5deaf1c001736730952794379c9fb2"></a><!-- doxytag: member="ContextRealLogger::showWarning" ref="acf5deaf1c001736730952794379c9fb2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">ContextRealLogger::showWarning</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Warning messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="a681ec8a8c8151a6e76de1b1b3aebe902"></a><!-- doxytag: member="ContextRealLogger::useColor" ref="a681ec8a8c8151a6e76de1b1b3aebe902" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">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>
+<a class="anchor" id="a11114df34f0dc06d4261a98db0c1a413"></a><!-- doxytag: member="ContextRealLogger::vanilla" ref="a11114df34f0dc06d4261a98db0c1a413" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">ContextRealLogger::vanilla</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Use vanilla (stripped-down) logging. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="logging_8cpp.html">logging.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..91784657
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_zero_logger-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">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#aae39e44e016d29a07bd076470bc171bb">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d0bb38d3
--- /dev/null
+++ b/libcontextprovider/doc/html/class_context_zero_logger.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A fake logging class.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Does nothing. <a href="#a95e0d40b90ed9c3f360067a3dadaa0c7"></a><br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" 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#aae39e44e016d29a07bd076470bc171bb">operator&lt;&lt;</a> (const T &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does nothing. <a href="#aae39e44e016d29a07bd076470bc171bb"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A fake logging class. </p>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a95e0d40b90ed9c3f360067a3dadaa0c7"></a><!-- doxytag: member="ContextZeroLogger::ContextZeroLogger" ref="a95e0d40b90ed9c3f360067a3dadaa0c7" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aae39e44e016d29a07bd076470bc171bb"></a><!-- doxytag: member="ContextZeroLogger::operator&lt;&lt;" ref="aae39e44e016d29a07bd076470bc171bb" 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>
+<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></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/classes.html b/libcontextprovider/doc/html/classes.html
new file mode 100644
index 00000000..89f2938b
--- /dev/null
+++ b/libcontextprovider/doc/html/classes.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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><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_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div>
+<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 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 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 class="el" href="class_context_provider_1_1_property_adaptor.html">PropertyAdaptor</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><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.html">Group</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_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_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_real_logger.html">ContextRealLogger</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 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_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_zero_logger.html">ContextZeroLogger</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_property.html">Property</a> (<a class="el" href="namespace_context_provider.html">ContextProvider</a>)&nbsp;&nbsp;&nbsp;</td></tr></table><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_P">P</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ded6bd5f
--- /dev/null
+++ b/libcontextprovider/doc/html/context__provider_8h.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9d9f3f37
--- /dev/null
+++ b/libcontextprovider/doc/html/context__provider_8h_source.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="contextc_8h.html">contextc.h</a>&quot;</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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b881bbbc
--- /dev/null
+++ b/libcontextprovider/doc/html/contextc_8cpp.html
@@ -0,0 +1,410 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a33b9763ab39ce494e115bffcab36360f">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="#a33b9763ab39ce494e115bffcab36360f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a35a12d14a227ea7905d9a9e00f1d9e25">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="#a35a12d14a227ea7905d9a9e00f1d9e25"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#aa6873ed47e24aaa57d4a327afaf24899">context_provider_install_key</a> (const char *key, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">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="#aa6873ed47e24aaa57d4a327afaf24899"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a7c64c17cdf36feb89de45737a37baf3b">context_provider_install_group</a> (char *const *key_group, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">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="#a7c64c17cdf36feb89de45737a37baf3b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#aac6f0ad56b4d250a2acb9b1af64eaa84">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="#aac6f0ad56b4d250a2acb9b1af64eaa84"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a5668b35ebd428a798f8bbc8824edcd8c">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="#a5668b35ebd428a798f8bbc8824edcd8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a0671fc551fe7ef0a5b51d0f9e3ffad96">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="#a0671fc551fe7ef0a5b51d0f9e3ffad96"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#af89f8107bb2b94aee6b356826d72d370">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="#af89f8107bb2b94aee6b356826d72d370"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#ab50bb9e3b54bf0e47f9cc15b38fb987c">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="#ab50bb9e3b54bf0e47f9cc15b38fb987c"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" 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#af8e91994e1c1955177da64fc01e70532">listeners</a> = NULL</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">argv</a> [] = &quot;libcontextprovider&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#aaa1ebe818ec1c763a776cc580551f3e6">p</a> = <a class="el" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">argv</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#ad1447518f4372828b8435ae82e48499e">argc</a> = 1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QCoreApplication *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">app</a> = 0</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a33b9763ab39ce494e115bffcab36360f"></a><!-- doxytag: member="contextc.cpp::context_provider_init" ref="a33b9763ab39ce494e115bffcab36360f" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7c64c17cdf36feb89de45737a37baf3b"></a><!-- doxytag: member="contextc.cpp::context_provider_install_group" ref="a7c64c17cdf36feb89de45737a37baf3b" 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#af72f0df7ce613305c3beabeab61e57dd">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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa6873ed47e24aaa57d4a327afaf24899"></a><!-- doxytag: member="contextc.cpp::context_provider_install_key" ref="aa6873ed47e24aaa57d4a327afaf24899" 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#af72f0df7ce613305c3beabeab61e57dd">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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0671fc551fe7ef0a5b51d0f9e3ffad96"></a><!-- doxytag: member="contextc.cpp::context_provider_set_boolean" ref="a0671fc551fe7ef0a5b51d0f9e3ffad96" 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>
+<a class="anchor" id="a5668b35ebd428a798f8bbc8824edcd8c"></a><!-- doxytag: member="contextc.cpp::context_provider_set_double" ref="a5668b35ebd428a798f8bbc8824edcd8c" 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>
+<a class="anchor" id="aac6f0ad56b4d250a2acb9b1af64eaa84"></a><!-- doxytag: member="contextc.cpp::context_provider_set_integer" ref="aac6f0ad56b4d250a2acb9b1af64eaa84" 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>
+<a class="anchor" id="ab50bb9e3b54bf0e47f9cc15b38fb987c"></a><!-- doxytag: member="contextc.cpp::context_provider_set_null" ref="ab50bb9e3b54bf0e47f9cc15b38fb987c" 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>
+<a class="anchor" id="af89f8107bb2b94aee6b356826d72d370"></a><!-- doxytag: member="contextc.cpp::context_provider_set_string" ref="af89f8107bb2b94aee6b356826d72d370" 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>
+<a class="anchor" id="a35a12d14a227ea7905d9a9e00f1d9e25"></a><!-- doxytag: member="contextc.cpp::context_provider_stop" ref="a35a12d14a227ea7905d9a9e00f1d9e25" 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>
+<p>After calling this function a new service can be started by calling context_provider_init. </p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="ab751c4ea835b01f1db167e4fbc8f042d"></a><!-- doxytag: member="contextc.cpp::app" ref="ab751c4ea835b01f1db167e4fbc8f042d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QCoreApplication* <a class="el" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">app</a> = 0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad1447518f4372828b8435ae82e48499e"></a><!-- doxytag: member="contextc.cpp::argc" ref="ad1447518f4372828b8435ae82e48499e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="contextc_8cpp.html#ad1447518f4372828b8435ae82e48499e">argc</a> = 1</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a34d7542664850bdf79197020d3e9532f"></a><!-- doxytag: member="contextc.cpp::argv" ref="a34d7542664850bdf79197020d3e9532f" args="[]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char <a class="el" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">argv</a>[] = &quot;libcontextprovider&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af8e91994e1c1955177da64fc01e70532"></a><!-- doxytag: member="contextc.cpp::listeners" ref="af8e91994e1c1955177da64fc01e70532" 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#af8e91994e1c1955177da64fc01e70532">listeners</a> = NULL</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aaa1ebe818ec1c763a776cc580551f3e6"></a><!-- doxytag: member="contextc.cpp::p" ref="aaa1ebe818ec1c763a776cc580551f3e6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* <a class="el" href="contextc_8cpp.html#aaa1ebe818ec1c763a776cc580551f3e6">p</a> = <a class="el" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">argv</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..55d5aa98
--- /dev/null
+++ b/libcontextprovider/doc/html/contextc_8h.html
@@ -0,0 +1,347 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a> )(int subscribe, void *user_data)</td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#a33b9763ab39ce494e115bffcab36360f">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="#a33b9763ab39ce494e115bffcab36360f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#a35a12d14a227ea7905d9a9e00f1d9e25">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="#a35a12d14a227ea7905d9a9e00f1d9e25"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#aa6873ed47e24aaa57d4a327afaf24899">context_provider_install_key</a> (const char *key, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">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="#aa6873ed47e24aaa57d4a327afaf24899"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#a7c64c17cdf36feb89de45737a37baf3b">context_provider_install_group</a> (char *const *key_group, int clear_values_on_subscribe, <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">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="#a7c64c17cdf36feb89de45737a37baf3b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#aac6f0ad56b4d250a2acb9b1af64eaa84">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="#aac6f0ad56b4d250a2acb9b1af64eaa84"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#a5668b35ebd428a798f8bbc8824edcd8c">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="#a5668b35ebd428a798f8bbc8824edcd8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#a0671fc551fe7ef0a5b51d0f9e3ffad96">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="#a0671fc551fe7ef0a5b51d0f9e3ffad96"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#af89f8107bb2b94aee6b356826d72d370">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="#af89f8107bb2b94aee6b356826d72d370"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="contextc_8h.html#ab50bb9e3b54bf0e47f9cc15b38fb987c">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="#ab50bb9e3b54bf0e47f9cc15b38fb987c"></a><br/></td></tr>
+</table>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="af72f0df7ce613305c3beabeab61e57dd"></a><!-- doxytag: member="contextc.h::ContextProviderSubscriptionChangedCallback" ref="af72f0df7ce613305c3beabeab61e57dd" 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#af72f0df7ce613305c3beabeab61e57dd">ContextProviderSubscriptionChangedCallback</a>)(int subscribe, void *user_data)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a33b9763ab39ce494e115bffcab36360f"></a><!-- doxytag: member="contextc.h::context_provider_init" ref="a33b9763ab39ce494e115bffcab36360f" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7c64c17cdf36feb89de45737a37baf3b"></a><!-- doxytag: member="contextc.h::context_provider_install_group" ref="a7c64c17cdf36feb89de45737a37baf3b" 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#af72f0df7ce613305c3beabeab61e57dd">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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa6873ed47e24aaa57d4a327afaf24899"></a><!-- doxytag: member="contextc.h::context_provider_install_key" ref="aa6873ed47e24aaa57d4a327afaf24899" 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#af72f0df7ce613305c3beabeab61e57dd">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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0671fc551fe7ef0a5b51d0f9e3ffad96"></a><!-- doxytag: member="contextc.h::context_provider_set_boolean" ref="a0671fc551fe7ef0a5b51d0f9e3ffad96" 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>
+<a class="anchor" id="a5668b35ebd428a798f8bbc8824edcd8c"></a><!-- doxytag: member="contextc.h::context_provider_set_double" ref="a5668b35ebd428a798f8bbc8824edcd8c" 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>
+<a class="anchor" id="aac6f0ad56b4d250a2acb9b1af64eaa84"></a><!-- doxytag: member="contextc.h::context_provider_set_integer" ref="aac6f0ad56b4d250a2acb9b1af64eaa84" 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>
+<a class="anchor" id="ab50bb9e3b54bf0e47f9cc15b38fb987c"></a><!-- doxytag: member="contextc.h::context_provider_set_null" ref="ab50bb9e3b54bf0e47f9cc15b38fb987c" 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>
+<a class="anchor" id="af89f8107bb2b94aee6b356826d72d370"></a><!-- doxytag: member="contextc.h::context_provider_set_string" ref="af89f8107bb2b94aee6b356826d72d370" 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>
+<a class="anchor" id="a35a12d14a227ea7905d9a9e00f1d9e25"></a><!-- doxytag: member="contextc.h::context_provider_stop" ref="a35a12d14a227ea7905d9a9e00f1d9e25" 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>
+<p>After calling this function a new service can be started by calling context_provider_init. </p>
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b7e84a59
--- /dev/null
+++ b/libcontextprovider/doc/html/contextc_8h_source.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">&quot;C&quot;</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#af72f0df7ce613305c3beabeab61e57dd">00032</a> <span class="keyword">typedef</span> void (*<a class="code" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">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#a33b9763ab39ce494e115bffcab36360f" 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#a35a12d14a227ea7905d9a9e00f1d9e25" 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#aa6873ed47e24aaa57d4a327afaf24899" 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#af72f0df7ce613305c3beabeab61e57dd">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#a7c64c17cdf36feb89de45737a37baf3b" 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#af72f0df7ce613305c3beabeab61e57dd">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#aac6f0ad56b4d250a2acb9b1af64eaa84" 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#a5668b35ebd428a798f8bbc8824edcd8c" 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#a0671fc551fe7ef0a5b51d0f9e3ffad96" 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#af89f8107bb2b94aee6b356826d72d370" 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#ab50bb9e3b54bf0e47f9cc15b38fb987c" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/doxygen.css b/libcontextprovider/doc/html/doxygen.css
new file mode 100644
index 00000000..9ca3cafb
--- /dev/null
+++ b/libcontextprovider/doc/html/doxygen.css
@@ -0,0 +1,498 @@
+/* The standard CSS for doxygen */
+
+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%;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+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;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+img.footer {
+ border: 0px;
+ 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;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memTemplParams {
+ color: #606060;
+ white-space: nowrap;
+}
+
+/* @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;
+ margin-bottom: 10px;
+}
+
+.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;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+}
+
+.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..0321ffce
--- /dev/null
+++ b/libcontextprovider/doc/html/files.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="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="propertyadaptor_8cpp.html">propertyadaptor.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="propertyadaptor_8h.html">propertyadaptor.h</a> <a href="propertyadaptor_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="propertyprivate_8cpp.html">propertyprivate.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="propertyprivate_8h.html">propertyprivate.h</a> <a href="propertyprivate_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>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/functions.html b/libcontextprovider/doc/html/functions.html
new file mode 100644
index 00000000..9dd33aaa
--- /dev/null
+++ b/libcontextprovider/doc/html/functions.html
@@ -0,0 +1,358 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_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_o"><span>o</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_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:
+
+<h3><a class="anchor" id="index_0x3a">- : -</a></h3><ul>
+<li>::ServiceBackendUnitTest
+: <a class="el" href="class_context_provider_1_1_service_backend.html#aed41fb3009b4b10268a07c9e2fb37ece">ContextProvider::ServiceBackend</a>
+</li>
+<li>::ServiceUnitTest
+: <a class="el" href="class_context_provider_1_1_service.html#ac3553c08a0c7b57a4c15794caebf1936">ContextProvider::Service</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4">ContextProvider::Group</a>
+</li>
+<li>addProperty()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a8d167b71faec3c38533717354b2fcf7b">ContextProvider::ServiceBackend</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>clear()
+: <a class="el" href="class_context_provider_1_1_listener.html#ad60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>
+, <a class="el" href="class_context_provider_1_1_property_listener.html#afd2fac0dfe47e45fb7a80b51f5565eef">ContextProvider::PropertyListener</a>
+, <a class="el" href="class_context_provider_1_1_group_listener.html#a7ca28f3f65eac2882bfe6eac4b2468b1">ContextProvider::GroupListener</a>
+</li>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+</li>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+</li>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>defaultServiceBackend
+: <a class="el" href="class_context_provider_1_1_service_backend.html#adba83a5a2a30247be68cd8485b3c6306">ContextProvider::ServiceBackend</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>firstSubscriberAppeared()
+: <a class="el" href="class_context_provider_1_1_group.html#ab0c2fe89e51597d807597ef5b17b8d84">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_property.html#aedb511bfc215c2933193d5685c574943">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#a52cec0b190df6ef4033129bfc3948225">ContextProvider::PropertyPrivate</a>
+</li>
+<li>forgetClients()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#af6f3ed4cf800ee36f5fef5231ad49d01">ContextProvider::PropertyAdaptor</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>Get()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#ae868927e2b3ade9758f5ab50604d7cb9">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>getName()
+: <a class="el" href="class_context_feature.html#a7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+</li>
+<li>getProperties()
+: <a class="el" href="class_context_provider_1_1_group.html#a63bd74cceebb98ef6372b1040b971479">ContextProvider::Group</a>
+</li>
+<li>Group()
+: <a class="el" href="class_context_provider_1_1_group.html#adfdc508e85a6526c7e5201934b5ca9c5">ContextProvider::Group</a>
+</li>
+<li>GroupListener()
+: <a class="el" href="class_context_provider_1_1_group_listener.html#a00a56babe6eaec539b1df50861e00180">ContextProvider::GroupListener</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+</li>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+</li>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#ae753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+</li>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+</li>
+<li>instance()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#abbf135b68aa7d0e5e9ff294ccfa6e1eb">ContextProvider::ServiceBackend</a>
+</li>
+<li>isSet()
+: <a class="el" href="class_context_provider_1_1_property.html#acd83fed5c066aa375148738744e5b3e3">ContextProvider::Property</a>
+</li>
+<li>isSubscribedTo()
+: <a class="el" href="class_context_provider_1_1_group.html#af6ebd9e89ea1f543d33867fad44ba15e">ContextProvider::Group</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_provider_1_1_property.html#ab88d712808775617a9839523c537afcb">ContextProvider::Property</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>lastSubscriberDisappeared()
+: <a class="el" href="class_context_provider_1_1_group.html#a494ce3334c4665e89ca651bd34fc7acb">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_property.html#a586f7dff49a3c4536acc289c314586ee">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#a224f37bf688444e3cb1c126287e99d8b">ContextProvider::PropertyPrivate</a>
+</li>
+<li>Listener()
+: <a class="el" href="class_context_provider_1_1_listener.html#a368c85228815acdd0e6964f0da75e152">ContextProvider::Listener</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>objectPath()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a660abb2ad421b5f70db4c6a41e8728cf">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_zero_logger.html#aae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#a83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_provider_1_1_group.html#a28743608278b85f0dc0170d2c5774e3e">ContextProvider::Group</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>prop
+: <a class="el" href="class_context_provider_1_1_property_listener.html#a7deeeaa5a67e484dab059ed834315499">ContextProvider::PropertyListener</a>
+</li>
+<li>properties
+: <a class="el" href="struct_context_provider_1_1_group_private.html#ab5bd08568b4665a4a053bf2f66c0ca1d">ContextProvider::GroupPrivate</a>
+</li>
+<li>propertiesSubscribedTo
+: <a class="el" href="struct_context_provider_1_1_group_private.html#a447f70a1352ed264f5bf4a9f86c12a25">ContextProvider::GroupPrivate</a>
+</li>
+<li>Property
+: <a class="el" href="class_context_provider_1_1_property_private.html#a386f5a9cf65610cb62143865e5637272">ContextProvider::PropertyPrivate</a>
+, <a class="el" href="class_context_provider_1_1_service.html#a386f5a9cf65610cb62143865e5637272">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_property.html#a62299c267b73e990a03faf3113445f9e">ContextProvider::Property</a>
+</li>
+<li>PropertyAdaptor()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#ab97e6529a6949024d0339e907d7835f8">ContextProvider::PropertyAdaptor</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#aecebf007df205da3f34b7ce4409bdb33">ContextProvider::PropertyPrivate</a>
+</li>
+<li>PropertyListener()
+: <a class="el" href="class_context_provider_1_1_property_listener.html#aaca36ab1765f01f5ed6678a7b0ca3605">ContextProvider::PropertyListener</a>
+</li>
+<li>PropertyPrivate()
+: <a class="el" href="class_context_provider_1_1_property_private.html#a95cdc5fa5d6b0a5251708b6adedbd2c0">ContextProvider::PropertyPrivate</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>ref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a2b33587710d46129c3554fc405e93858">ContextProvider::ServiceBackend</a>
+</li>
+<li>restart()
+: <a class="el" href="class_context_provider_1_1_service.html#a471dbe35bbd9583f9404b15158f367dd">ContextProvider::Service</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>Service
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a6474ceb8669761e879329b39c3afb899">ContextProvider::ServiceBackend</a>
+, <a class="el" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d">ContextProvider::Service</a>
+</li>
+<li>ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a2f72a8d1752eb4f930410deed93bd14e">ContextProvider::ServiceBackend</a>
+</li>
+<li>setAsDefault()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a1f25b50b4abc8e8a5fbdf0b9b38f6691">ContextProvider::ServiceBackend</a>
+, <a class="el" href="class_context_provider_1_1_service.html#a385b58aef7878b6e33a3989d139f9a4a">ContextProvider::Service</a>
+</li>
+<li>setConnection()
+: <a class="el" href="class_context_provider_1_1_service.html#ad6bf1d2d8f8c580d4d77e9c4e72fd226">ContextProvider::Service</a>
+</li>
+<li>setSubscribed()
+: <a class="el" href="class_context_provider_1_1_property_private.html#aa46fa6bbb5ce1d58e8cc4757126f5d5a">ContextProvider::PropertyPrivate</a>
+</li>
+<li>setUnsubscribed()
+: <a class="el" href="class_context_provider_1_1_property_private.html#aa02178d165e6b35fc5332d9c1d1a845f">ContextProvider::PropertyPrivate</a>
+</li>
+<li>setValue()
+: <a class="el" href="class_context_provider_1_1_property.html#a44c5ff15b11d53d2a44bc77cacb41314">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#a113740725c36053cfd542744a7e060c2">ContextProvider::PropertyPrivate</a>
+, <a class="el" href="class_context_provider_1_1_service.html#aee524632842792e9ad80b122eb8600a1">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#a3380d860b28632814283af9cb48115ad">ContextProvider::ServiceBackend</a>
+</li>
+<li>sharedConnection()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a7b9d7a6b42fde2e7841edd7dbd5589af">ContextProvider::ServiceBackend</a>
+</li>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+</li>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+</li>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+</li>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+</li>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+</li>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+</li>
+<li>start()
+: <a class="el" href="class_context_provider_1_1_service.html#a6434d467cd84a6295bd24572671b5479">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#af0ffcd20b78a6c070b46f2a808974bf5">ContextProvider::ServiceBackend</a>
+</li>
+<li>stop()
+: <a class="el" href="class_context_provider_1_1_service.html#a25cc85c61a07afe679266fc287da0677">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#af580af0059e69905ee6aefa55056bdd5">ContextProvider::ServiceBackend</a>
+</li>
+<li>Subscribe()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a57254ec356721efde35aa72e36f436c9">ContextProvider::PropertyAdaptor</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>unref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a44c270d04037efde600e3f2ba7e4188f">ContextProvider::ServiceBackend</a>
+</li>
+<li>unsetValue()
+: <a class="el" href="class_context_provider_1_1_property.html#aa65dc7374559b7a7d86034b8c9ef9807">ContextProvider::Property</a>
+</li>
+<li>Unsubscribe()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a0a08d426bbede951c3b45795d6885ab8">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>updateOverheardValue()
+: <a class="el" href="class_context_provider_1_1_property_private.html#ac11f1d3d6c38a4862051d82f4f49f263">ContextProvider::PropertyPrivate</a>
+</li>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value()
+: <a class="el" href="class_context_provider_1_1_property.html#af05d9adb2b2ee2a5d66e6a9875ccd167">ContextProvider::Property</a>
+</li>
+<li>ValueChanged()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a17f8b6df91329f49291971bdb4397013">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>valueChanged()
+: <a class="el" href="class_context_provider_1_1_property_private.html#a99fb930702a8deaaeb45554bf09a93b6">ContextProvider::PropertyPrivate</a>
+</li>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ad45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+</li>
+<li>~Group()
+: <a class="el" href="class_context_provider_1_1_group.html#a66b1bd39a6d13e7623ea1213574a25f8">ContextProvider::Group</a>
+</li>
+<li>~Property()
+: <a class="el" href="class_context_provider_1_1_property.html#a3c5fbb4b6f0ce1f779c2bfa6190ed8d2">ContextProvider::Property</a>
+</li>
+<li>~Service()
+: <a class="el" href="class_context_provider_1_1_service.html#a365b50365fd98d8ee7a1b7dd10dd84d2">ContextProvider::Service</a>
+</li>
+<li>~ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a7c22a78525e271a443d0b328c09a8ebb">ContextProvider::ServiceBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..03d36600
--- /dev/null
+++ b/libcontextprovider/doc/html/functions_func.html
@@ -0,0 +1,285 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_c"><span>c</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_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_o"><span>o</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_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;
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4">ContextProvider::Group</a>
+</li>
+<li>addProperty()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a8d167b71faec3c38533717354b2fcf7b">ContextProvider::ServiceBackend</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>clear()
+: <a class="el" href="class_context_provider_1_1_listener.html#ad60c66c519e5941a71b0becc0d3abf5c">ContextProvider::Listener</a>
+, <a class="el" href="class_context_provider_1_1_property_listener.html#afd2fac0dfe47e45fb7a80b51f5565eef">ContextProvider::PropertyListener</a>
+, <a class="el" href="class_context_provider_1_1_group_listener.html#a7ca28f3f65eac2882bfe6eac4b2468b1">ContextProvider::GroupListener</a>
+</li>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+</li>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+</li>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>firstSubscriberAppeared()
+: <a class="el" href="class_context_provider_1_1_group.html#ab0c2fe89e51597d807597ef5b17b8d84">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_property.html#aedb511bfc215c2933193d5685c574943">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#a52cec0b190df6ef4033129bfc3948225">ContextProvider::PropertyPrivate</a>
+</li>
+<li>forgetClients()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#af6f3ed4cf800ee36f5fef5231ad49d01">ContextProvider::PropertyAdaptor</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>Get()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#ae868927e2b3ade9758f5ab50604d7cb9">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>getName()
+: <a class="el" href="class_context_feature.html#a7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+</li>
+<li>getProperties()
+: <a class="el" href="class_context_provider_1_1_group.html#a63bd74cceebb98ef6372b1040b971479">ContextProvider::Group</a>
+</li>
+<li>Group()
+: <a class="el" href="class_context_provider_1_1_group.html#adfdc508e85a6526c7e5201934b5ca9c5">ContextProvider::Group</a>
+</li>
+<li>GroupListener()
+: <a class="el" href="class_context_provider_1_1_group_listener.html#a00a56babe6eaec539b1df50861e00180">ContextProvider::GroupListener</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#ae753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+</li>
+<li>instance()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a03beadb30b9d1f837d372ccc77004595">ContextProvider::ServiceBackend</a>
+</li>
+<li>isSet()
+: <a class="el" href="class_context_provider_1_1_property.html#acd83fed5c066aa375148738744e5b3e3">ContextProvider::Property</a>
+</li>
+<li>isSubscribedTo()
+: <a class="el" href="class_context_provider_1_1_group.html#af6ebd9e89ea1f543d33867fad44ba15e">ContextProvider::Group</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_provider_1_1_property.html#ab88d712808775617a9839523c537afcb">ContextProvider::Property</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>lastSubscriberDisappeared()
+: <a class="el" href="class_context_provider_1_1_group.html#a494ce3334c4665e89ca651bd34fc7acb">ContextProvider::Group</a>
+, <a class="el" href="class_context_provider_1_1_property.html#a586f7dff49a3c4536acc289c314586ee">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#a224f37bf688444e3cb1c126287e99d8b">ContextProvider::PropertyPrivate</a>
+</li>
+<li>Listener()
+: <a class="el" href="class_context_provider_1_1_listener.html#a368c85228815acdd0e6964f0da75e152">ContextProvider::Listener</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>objectPath()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a660abb2ad421b5f70db4c6a41e8728cf">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_zero_logger.html#aae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#a83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_provider_1_1_group.html#a28743608278b85f0dc0170d2c5774e3e">ContextProvider::Group</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>Property()
+: <a class="el" href="class_context_provider_1_1_property.html#a8b66e2cb81aca7f0162a51bb0e9c93f5">ContextProvider::Property</a>
+</li>
+<li>PropertyAdaptor()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#ab97e6529a6949024d0339e907d7835f8">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>PropertyListener()
+: <a class="el" href="class_context_provider_1_1_property_listener.html#aaca36ab1765f01f5ed6678a7b0ca3605">ContextProvider::PropertyListener</a>
+</li>
+<li>PropertyPrivate()
+: <a class="el" href="class_context_provider_1_1_property_private.html#a95cdc5fa5d6b0a5251708b6adedbd2c0">ContextProvider::PropertyPrivate</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>ref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a2b33587710d46129c3554fc405e93858">ContextProvider::ServiceBackend</a>
+</li>
+<li>restart()
+: <a class="el" href="class_context_provider_1_1_service.html#a471dbe35bbd9583f9404b15158f367dd">ContextProvider::Service</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>Service()
+: <a class="el" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d">ContextProvider::Service</a>
+</li>
+<li>ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a2f72a8d1752eb4f930410deed93bd14e">ContextProvider::ServiceBackend</a>
+</li>
+<li>setAsDefault()
+: <a class="el" href="class_context_provider_1_1_service.html#a385b58aef7878b6e33a3989d139f9a4a">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#a1f25b50b4abc8e8a5fbdf0b9b38f6691">ContextProvider::ServiceBackend</a>
+</li>
+<li>setConnection()
+: <a class="el" href="class_context_provider_1_1_service.html#ad6bf1d2d8f8c580d4d77e9c4e72fd226">ContextProvider::Service</a>
+</li>
+<li>setSubscribed()
+: <a class="el" href="class_context_provider_1_1_property_private.html#aa46fa6bbb5ce1d58e8cc4757126f5d5a">ContextProvider::PropertyPrivate</a>
+</li>
+<li>setUnsubscribed()
+: <a class="el" href="class_context_provider_1_1_property_private.html#aa02178d165e6b35fc5332d9c1d1a845f">ContextProvider::PropertyPrivate</a>
+</li>
+<li>setValue()
+: <a class="el" href="class_context_provider_1_1_property.html#a44c5ff15b11d53d2a44bc77cacb41314">ContextProvider::Property</a>
+, <a class="el" href="class_context_provider_1_1_property_private.html#a113740725c36053cfd542744a7e060c2">ContextProvider::PropertyPrivate</a>
+, <a class="el" href="class_context_provider_1_1_service.html#aee524632842792e9ad80b122eb8600a1">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#a3380d860b28632814283af9cb48115ad">ContextProvider::ServiceBackend</a>
+</li>
+<li>sharedConnection()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a7b9d7a6b42fde2e7841edd7dbd5589af">ContextProvider::ServiceBackend</a>
+</li>
+<li>start()
+: <a class="el" href="class_context_provider_1_1_service.html#a6434d467cd84a6295bd24572671b5479">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#af0ffcd20b78a6c070b46f2a808974bf5">ContextProvider::ServiceBackend</a>
+</li>
+<li>stop()
+: <a class="el" href="class_context_provider_1_1_service.html#a25cc85c61a07afe679266fc287da0677">ContextProvider::Service</a>
+, <a class="el" href="class_context_provider_1_1_service_backend.html#af580af0059e69905ee6aefa55056bdd5">ContextProvider::ServiceBackend</a>
+</li>
+<li>Subscribe()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a57254ec356721efde35aa72e36f436c9">ContextProvider::PropertyAdaptor</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>unref()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a44c270d04037efde600e3f2ba7e4188f">ContextProvider::ServiceBackend</a>
+</li>
+<li>unsetValue()
+: <a class="el" href="class_context_provider_1_1_property.html#aa65dc7374559b7a7d86034b8c9ef9807">ContextProvider::Property</a>
+</li>
+<li>Unsubscribe()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a0a08d426bbede951c3b45795d6885ab8">ContextProvider::PropertyAdaptor</a>
+</li>
+<li>updateOverheardValue()
+: <a class="el" href="class_context_provider_1_1_property_private.html#ac11f1d3d6c38a4862051d82f4f49f263">ContextProvider::PropertyPrivate</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value()
+: <a class="el" href="class_context_provider_1_1_property.html#af05d9adb2b2ee2a5d66e6a9875ccd167">ContextProvider::Property</a>
+</li>
+<li>valueChanged()
+: <a class="el" href="class_context_provider_1_1_property_private.html#a99fb930702a8deaaeb45554bf09a93b6">ContextProvider::PropertyPrivate</a>
+</li>
+<li>ValueChanged()
+: <a class="el" href="class_context_provider_1_1_property_adaptor.html#a17f8b6df91329f49291971bdb4397013">ContextProvider::PropertyAdaptor</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ad45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+</li>
+<li>~Group()
+: <a class="el" href="class_context_provider_1_1_group.html#a66b1bd39a6d13e7623ea1213574a25f8">ContextProvider::Group</a>
+</li>
+<li>~Property()
+: <a class="el" href="class_context_provider_1_1_property.html#a3c5fbb4b6f0ce1f779c2bfa6190ed8d2">ContextProvider::Property</a>
+</li>
+<li>~Service()
+: <a class="el" href="class_context_provider_1_1_service.html#a365b50365fd98d8ee7a1b7dd10dd84d2">ContextProvider::Service</a>
+</li>
+<li>~ServiceBackend()
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a7c22a78525e271a443d0b328c09a8ebb">ContextProvider::ServiceBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..32cc539e
--- /dev/null
+++ b/libcontextprovider/doc/html/functions_rela.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>::ServiceBackendUnitTest
+: <a class="el" href="class_context_provider_1_1_service_backend.html#aed41fb3009b4b10268a07c9e2fb37ece">ContextProvider::ServiceBackend</a>
+</li>
+<li>::ServiceUnitTest
+: <a class="el" href="class_context_provider_1_1_service.html#ac3553c08a0c7b57a4c15794caebf1936">ContextProvider::Service</a>
+</li>
+<li>Property
+: <a class="el" href="class_context_provider_1_1_property_private.html#a386f5a9cf65610cb62143865e5637272">ContextProvider::PropertyPrivate</a>
+, <a class="el" href="class_context_provider_1_1_service.html#a386f5a9cf65610cb62143865e5637272">ContextProvider::Service</a>
+</li>
+<li>PropertyAdaptor
+: <a class="el" href="class_context_provider_1_1_property_private.html#aecebf007df205da3f34b7ce4409bdb33">ContextProvider::PropertyPrivate</a>
+</li>
+<li>Service
+: <a class="el" href="class_context_provider_1_1_service_backend.html#a6474ceb8669761e879329b39c3afb899">ContextProvider::ServiceBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..71dbd244
--- /dev/null
+++ b/libcontextprovider/doc/html/functions_vars.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>defaultServiceBackend
+: <a class="el" href="class_context_provider_1_1_service_backend.html#adba83a5a2a30247be68cd8485b3c6306">ContextProvider::ServiceBackend</a>
+</li>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+</li>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+</li>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</li>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+</li>
+<li>prop
+: <a class="el" href="class_context_provider_1_1_property_listener.html#a7deeeaa5a67e484dab059ed834315499">ContextProvider::PropertyListener</a>
+</li>
+<li>properties
+: <a class="el" href="struct_context_provider_1_1_group_private.html#ab5bd08568b4665a4a053bf2f66c0ca1d">ContextProvider::GroupPrivate</a>
+</li>
+<li>propertiesSubscribedTo
+: <a class="el" href="struct_context_provider_1_1_group_private.html#a447f70a1352ed264f5bf4a9f86c12a25">ContextProvider::GroupPrivate</a>
+</li>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+</li>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+</li>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+</li>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+</li>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+</li>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+</li>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</li>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/globals.html b/libcontextprovider/doc/html/globals.html
new file mode 100644
index 00000000..818d96c7
--- /dev/null
+++ b/libcontextprovider/doc/html/globals.html
@@ -0,0 +1,210 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_d"><span>d</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_n"><span>n</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:
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>app
+: <a class="el" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">contextc.cpp</a>
+</li>
+<li>argc
+: <a class="el" href="contextc_8cpp.html#ad1447518f4372828b8435ae82e48499e">contextc.cpp</a>
+</li>
+<li>argv
+: <a class="el" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">contextc.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#aa01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#a5caff9634fb82d206523ecc35720802c">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#af4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#a135d5a5bda27a9c86559a49deba43788">logging.h</a>
+</li>
+<li>context_provider_init()
+: <a class="el" href="contextc_8cpp.html#a33b9763ab39ce494e115bffcab36360f">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a33b9763ab39ce494e115bffcab36360f">contextc.h</a>
+</li>
+<li>context_provider_install_group()
+: <a class="el" href="contextc_8cpp.html#a7c64c17cdf36feb89de45737a37baf3b">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a7c64c17cdf36feb89de45737a37baf3b">contextc.h</a>
+</li>
+<li>context_provider_install_key()
+: <a class="el" href="contextc_8cpp.html#aa6873ed47e24aaa57d4a327afaf24899">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#aa6873ed47e24aaa57d4a327afaf24899">contextc.h</a>
+</li>
+<li>context_provider_set_boolean()
+: <a class="el" href="contextc_8cpp.html#a0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.h</a>
+</li>
+<li>context_provider_set_double()
+: <a class="el" href="contextc_8cpp.html#a5668b35ebd428a798f8bbc8824edcd8c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a5668b35ebd428a798f8bbc8824edcd8c">contextc.h</a>
+</li>
+<li>context_provider_set_integer()
+: <a class="el" href="contextc_8cpp.html#aac6f0ad56b4d250a2acb9b1af64eaa84">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#aac6f0ad56b4d250a2acb9b1af64eaa84">contextc.h</a>
+</li>
+<li>context_provider_set_null()
+: <a class="el" href="contextc_8cpp.html#ab50bb9e3b54bf0e47f9cc15b38fb987c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#ab50bb9e3b54bf0e47f9cc15b38fb987c">contextc.h</a>
+</li>
+<li>context_provider_set_string()
+: <a class="el" href="contextc_8h.html#af89f8107bb2b94aee6b356826d72d370">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#af89f8107bb2b94aee6b356826d72d370">contextc.cpp</a>
+</li>
+<li>context_provider_stop()
+: <a class="el" href="contextc_8h.html#a35a12d14a227ea7905d9a9e00f1d9e25">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#a35a12d14a227ea7905d9a9e00f1d9e25">contextc.cpp</a>
+</li>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">logging.h</a>
+</li>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+</li>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+</li>
+<li>ContextProviderSubscriptionChangedCallback
+: <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">contextc.h</a>
+</li>
+<li>contextTest
+: <a class="el" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+</li>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>DBUS_INTERFACE
+: <a class="el" href="propertyadaptor_8h.html#a8a8d1a5a4d46806f6c9368f92e7aea3d">propertyadaptor.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>F_C
+: <a class="el" href="loggingfeatures_8h.html#aa18351b635d165e6c6b3c0fd2e9fb010">loggingfeatures.h</a>
+</li>
+<li>F_DBUS
+: <a class="el" href="loggingfeatures_8h.html#ae91377869d2b8c07c759312d81180d47">loggingfeatures.h</a>
+</li>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+</li>
+<li>F_GROUP
+: <a class="el" href="loggingfeatures_8h.html#aacbda055c445dacbfd21502f47961937">loggingfeatures.h</a>
+</li>
+<li>F_MANAGER
+: <a class="el" href="loggingfeatures_8h.html#a3fb8d13817c872564bdd14246c8725c4">loggingfeatures.h</a>
+</li>
+<li>F_PROPERTY
+: <a class="el" href="loggingfeatures_8h.html#aa881d68e06073c6e502b5f016b9bff6a">loggingfeatures.h</a>
+</li>
+<li>F_SERVICE
+: <a class="el" href="loggingfeatures_8h.html#adeba982b0ad41bfd090a405f867e212b">loggingfeatures.h</a>
+</li>
+<li>F_SERVICE_BACKEND
+: <a class="el" href="loggingfeatures_8h.html#aa6880210114ff09ecc320e99c36f6e37">loggingfeatures.h</a>
+</li>
+<li>F_SIGNALS
+: <a class="el" href="loggingfeatures_8h.html#aa2135bd5e0b76f9686bff0aabf6c570d">loggingfeatures.h</a>
+</li>
+<li>F_SUBSCRIBER
+: <a class="el" href="loggingfeatures_8h.html#a1fcf2fbcf3425bbde71ae2fd065fcc76">loggingfeatures.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>listeners
+: <a class="el" href="contextc_8cpp.html#af8e91994e1c1955177da64fc01e70532">contextc.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>NSECS_IN_SEC
+: <a class="el" href="propertyprivate_8cpp.html#a9bdbb9fdbe2e8e06cb706501ef160388">propertyprivate.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>p
+: <a class="el" href="contextc_8cpp.html#aaa1ebe818ec1c763a776cc580551f3e6">contextc.cpp</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..7a38e75b
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_defs.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#aa01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#a5caff9634fb82d206523ecc35720802c">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#af4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#a135d5a5bda27a9c86559a49deba43788">logging.h</a>
+</li>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">logging.h</a>
+</li>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+</li>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+</li>
+<li>contextTest
+: <a class="el" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+</li>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+</li>
+<li>DBUS_INTERFACE
+: <a class="el" href="propertyadaptor_8h.html#a8a8d1a5a4d46806f6c9368f92e7aea3d">propertyadaptor.h</a>
+</li>
+<li>F_C
+: <a class="el" href="loggingfeatures_8h.html#aa18351b635d165e6c6b3c0fd2e9fb010">loggingfeatures.h</a>
+</li>
+<li>F_DBUS
+: <a class="el" href="loggingfeatures_8h.html#ae91377869d2b8c07c759312d81180d47">loggingfeatures.h</a>
+</li>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+</li>
+<li>F_GROUP
+: <a class="el" href="loggingfeatures_8h.html#aacbda055c445dacbfd21502f47961937">loggingfeatures.h</a>
+</li>
+<li>F_MANAGER
+: <a class="el" href="loggingfeatures_8h.html#a3fb8d13817c872564bdd14246c8725c4">loggingfeatures.h</a>
+</li>
+<li>F_PROPERTY
+: <a class="el" href="loggingfeatures_8h.html#aa881d68e06073c6e502b5f016b9bff6a">loggingfeatures.h</a>
+</li>
+<li>F_SERVICE
+: <a class="el" href="loggingfeatures_8h.html#adeba982b0ad41bfd090a405f867e212b">loggingfeatures.h</a>
+</li>
+<li>F_SERVICE_BACKEND
+: <a class="el" href="loggingfeatures_8h.html#aa6880210114ff09ecc320e99c36f6e37">loggingfeatures.h</a>
+</li>
+<li>F_SIGNALS
+: <a class="el" href="loggingfeatures_8h.html#aa2135bd5e0b76f9686bff0aabf6c570d">loggingfeatures.h</a>
+</li>
+<li>F_SUBSCRIBER
+: <a class="el" href="loggingfeatures_8h.html#a1fcf2fbcf3425bbde71ae2fd065fcc76">loggingfeatures.h</a>
+</li>
+<li>NSECS_IN_SEC
+: <a class="el" href="propertyprivate_8cpp.html#a9bdbb9fdbe2e8e06cb706501ef160388">propertyprivate.cpp</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..891cb772
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_func.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>context_provider_init()
+: <a class="el" href="contextc_8cpp.html#a33b9763ab39ce494e115bffcab36360f">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a33b9763ab39ce494e115bffcab36360f">contextc.h</a>
+</li>
+<li>context_provider_install_group()
+: <a class="el" href="contextc_8h.html#a7c64c17cdf36feb89de45737a37baf3b">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#a7c64c17cdf36feb89de45737a37baf3b">contextc.cpp</a>
+</li>
+<li>context_provider_install_key()
+: <a class="el" href="contextc_8cpp.html#aa6873ed47e24aaa57d4a327afaf24899">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#aa6873ed47e24aaa57d4a327afaf24899">contextc.h</a>
+</li>
+<li>context_provider_set_boolean()
+: <a class="el" href="contextc_8h.html#a0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#a0671fc551fe7ef0a5b51d0f9e3ffad96">contextc.cpp</a>
+</li>
+<li>context_provider_set_double()
+: <a class="el" href="contextc_8cpp.html#a5668b35ebd428a798f8bbc8824edcd8c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#a5668b35ebd428a798f8bbc8824edcd8c">contextc.h</a>
+</li>
+<li>context_provider_set_integer()
+: <a class="el" href="contextc_8cpp.html#aac6f0ad56b4d250a2acb9b1af64eaa84">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#aac6f0ad56b4d250a2acb9b1af64eaa84">contextc.h</a>
+</li>
+<li>context_provider_set_null()
+: <a class="el" href="contextc_8cpp.html#ab50bb9e3b54bf0e47f9cc15b38fb987c">contextc.cpp</a>
+, <a class="el" href="contextc_8h.html#ab50bb9e3b54bf0e47f9cc15b38fb987c">contextc.h</a>
+</li>
+<li>context_provider_set_string()
+: <a class="el" href="contextc_8h.html#af89f8107bb2b94aee6b356826d72d370">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#af89f8107bb2b94aee6b356826d72d370">contextc.cpp</a>
+</li>
+<li>context_provider_stop()
+: <a class="el" href="contextc_8h.html#a35a12d14a227ea7905d9a9e00f1d9e25">contextc.h</a>
+, <a class="el" href="contextc_8cpp.html#a35a12d14a227ea7905d9a9e00f1d9e25">contextc.cpp</a>
+</li>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f34ed92d
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_type.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>ContextProviderSubscriptionChangedCallback
+: <a class="el" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">contextc.h</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f4444f55
--- /dev/null
+++ b/libcontextprovider/doc/html/globals_vars.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>app
+: <a class="el" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">contextc.cpp</a>
+</li>
+<li>argc
+: <a class="el" href="contextc_8cpp.html#ad1447518f4372828b8435ae82e48499e">contextc.cpp</a>
+</li>
+<li>argv
+: <a class="el" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">contextc.cpp</a>
+</li>
+<li>listeners
+: <a class="el" href="contextc_8cpp.html#af8e91994e1c1955177da64fc01e70532">contextc.cpp</a>
+</li>
+<li>p
+: <a class="el" href="contextc_8cpp.html#aaa1ebe818ec1c763a776cc580551f3e6">contextc.cpp</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..7b235512
--- /dev/null
+++ b/libcontextprovider/doc/html/group_8cpp.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..0166ab04
--- /dev/null
+++ b/libcontextprovider/doc/html/group_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5d6a2cc5
--- /dev/null
+++ b/libcontextprovider/doc/html/group_8h_source.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#adfdc508e85a6526c7e5201934b5ca9c5" 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#a66b1bd39a6d13e7623ea1213574a25f8" title="Destructor.">~Group</a>();
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4" title="Adds a Property object to the Group.">add</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="l00045"></a>00045
+<a name="l00046"></a>00046 <span class="keywordtype">bool</span> <a class="code" href="class_context_provider_1_1_group.html#af6ebd9e89ea1f543d33867fad44ba15e" 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#a63bd74cceebb98ef6372b1040b971479" 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#a076cdbd5346aecee1b944451e5d6a5b8">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#a076cdbd5346aecee1b944451e5d6a5b8">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 { <a class="code" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4" title="Adds a Property object to the Group.">add</a>(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#a28743608278b85f0dc0170d2c5774e3e">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#a076cdbd5346aecee1b944451e5d6a5b8">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 { <a class="code" href="class_context_provider_1_1_group.html#aa4996d5fbeb27344439a2485f0de87e4" title="Adds a Property object to the Group.">add</a>(*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#ab0c2fe89e51597d807597ef5b17b8d84" 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#a494ce3334c4665e89ca651bd34fc7acb" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/hierarchy.html b/libcontextprovider/doc/html/hierarchy.html
new file mode 100644
index 00000000..a29701f2
--- /dev/null
+++ b/libcontextprovider/doc/html/hierarchy.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>
+<li><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></li>
+<li><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></li>
+<li><a class="el" href="class_context_provider_1_1_group.html">ContextProvider::Group</a></li>
+<li><a class="el" href="struct_context_provider_1_1_group_private.html">ContextProvider::GroupPrivate</a></li>
+<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>
+<li><a class="el" href="class_context_provider_1_1_property_listener.html">ContextProvider::PropertyListener</a></li>
+</ul>
+</li>
+<li><a class="el" href="class_context_provider_1_1_property.html">ContextProvider::Property</a></li>
+<li><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></li>
+<li><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></li>
+<li><a class="el" href="class_context_provider_1_1_service.html">ContextProvider::Service</a></li>
+<li><a class="el" href="class_context_provider_1_1_service_backend.html">ContextProvider::ServiceBackend</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/index.html b/libcontextprovider/doc/html/index.html
new file mode 100644
index 00000000..d8d1210f
--- /dev/null
+++ b/libcontextprovider/doc/html/index.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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>
+<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>
+<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 myService (...);
+</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 myService (...);
+</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 <a class="el" href="class_context_provider_1_1_property.html#a44c5ff15b11d53d2a44bc77cacb41314" title="Sets the property value to QVariant v.">Property::setValue()</a> and <a class="el" href="class_context_provider_1_1_property.html#aa65dc7374559b7a7d86034b8c9ef9807" title="Unsets the value.">Property::unsetValue()</a> at any time to change the value of the property.</p>
+<p>Communication with clients happens asynchronously and this library needs a running event loop for that.</p>
+<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#ad1447518f4372828b8435ae82e48499e">argc</a>, <span class="keywordtype">char</span> **<a class="code" href="contextc_8cpp.html#a34d7542664850bdf79197020d3e9532f">argv</a>)
+ {
+ QApplication <a class="code" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">app</a>(argc, argv);
+
+ Service myService(QDBusConnection::SessionBus, <span class="stringliteral">&quot;com.example.simple&quot;</span>);
+ Property myProperty(myService, <span class="stringliteral">&quot;Example.Simple&quot;</span>);
+
+ <span class="comment">// set initial value of property</span>
+ myProperty.set(100);
+
+ <a class="code" href="contextc_8cpp.html#ab751c4ea835b01f1db167e4fbc8f042d">app</a>.exec();
+ }
+</pre></div><p>If you need to know when someone actually subscribes to one of your properties, 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.</p>
+<h2><a class="anchor" id="PropNames">
+Valid property names</a></h2>
+<p>Context FW maintains a list of core properties. If you are providing a core property, you need to name it as it is described in the core property list (e.g., Screen.TopEdge).</p>
+<p>If you want to provide a non-core property, its name must be a valid name for a D-Bus object path (e.g., /com/mycompany/screen/topedge). A valid D-Bus object path starts with / and contains zero or more elements separated by / . Each element must only contain the following characters: [A-Z][a-z][0-9]_ </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5b99e32e
--- /dev/null
+++ b/libcontextprovider/doc/html/listeners_8cpp.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..53b4f407
--- /dev/null
+++ b/libcontextprovider/doc/html/listeners_8h.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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" 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" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5a8ed280
--- /dev/null
+++ b/libcontextprovider/doc/html/listeners_8h_source.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="service_8h.html">service.h</a>&quot;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="property_8h.html">property.h</a>&quot;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="group_8h.html">group.h</a>&quot;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="contextc_8h.html">contextc.h</a>&quot;</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#a368c85228815acdd0e6964f0da75e152">Listener</a>(<span class="keywordtype">bool</span> clears, <a class="code" href="contextc_8h.html#af72f0df7ce613305c3beabeab61e57dd">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#ad60c66c519e5941a71b0becc0d3abf5c">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#af72f0df7ce613305c3beabeab61e57dd">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#aaca36ab1765f01f5ed6678a7b0ca3605">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#af72f0df7ce613305c3beabeab61e57dd">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#a7deeeaa5a67e484dab059ed834315499">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#a7deeeaa5a67e484dab059ed834315499">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#afd2fac0dfe47e45fb7a80b51f5565eef">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#a00a56babe6eaec539b1df50861e00180">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#af72f0df7ce613305c3beabeab61e57dd">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#a7ca28f3f65eac2882bfe6eac4b2468b1">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/logging.html b/libcontextprovider/doc/html/logging.html
new file mode 100644
index 00000000..3c834dab
--- /dev/null
+++ b/libcontextprovider/doc/html/logging.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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">
+<p>The library (and ContexKit in general) use a simple logging system designed to unify the output and make the debugging easier.</p>
+<h2><a class="anchor" id="API">
+API</a></h2>
+<p>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>
+<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>
+<p>The log messages can be used like this:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">contextTest</a>() &lt;&lt; <span class="stringliteral">&quot;This is some message&quot;</span>;
+ <a class="code" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">&quot;My value is:&quot;</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">contextWarning</a>() &lt;&lt; <span class="stringliteral">&quot;Expecting key:&quot;</span> &lt;&lt; something.getKey();
+ <a class="code" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">contextCritical</a>() &lt;&lt; 5 &lt;&lt; <span class="stringliteral">&quot;is bigger than&quot;</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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">&quot;My value is&quot;</span> &lt;&lt; 5 &lt;&lt; <span class="stringliteral">&quot;and should be 5&quot;</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" id="compilecontrol">
+Compile-time verbosity control</a></h2>
+<p>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>
+<p>When ie. <code>CONTEXT_LOG_HIDE_DEBUG</code> define is used to turn off <code><a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">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>
+<p>Those compile-time control defines are integrated in the build/configure system.</p>
+<h2><a class="anchor" id="runtimecontrol">
+Run-time verbosity control</a></h2>
+<p>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>
+<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>
+<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>
+<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">&quot;subscriber&quot;</span> ./some-binary
+</pre></div><p>...will run <code></code>./some-binary showing log messages <b>only</b> from <code>subscriber</code> module.</p>
+<p>Lastly, <code>CONTEXT_LOG_HIDE_MODULE</code> will hide log messages coming from the specified module. All other messages will be show.</p>
+<h2><a class="anchor" id="modules">
+Modules in logging</a></h2>
+<p>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>
+<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">&apos;-DCONTEXT_LOG_MODULE_NAME=&quot;libtest&quot;&apos;</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.</p>
+<h2><a class="anchor" id="features">
+Featues</a></h2>
+<p>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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;threads&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Message goes here&quot;</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;threads&quot;</span>) &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;something&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Message...&quot;</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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;threads&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Some message...&quot;</span> &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;another&quot;</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>
+<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">&quot;threads,util&quot;</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">&quot;threads,util&quot;</span> ./some-binary
+</pre></div><p>...will hide all logging messages belonging to "threads" and "util" feature groups.</p>
+<h2><a class="anchor" id="vanilla">
+Vanilla</a></h2>
+<p>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. </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3a4fe684
--- /dev/null
+++ b/libcontextprovider/doc/html/logging_8cpp.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c19b6fea
--- /dev/null
+++ b/libcontextprovider/doc/html/logging_8h.html
@@ -0,0 +1,218 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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" 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" 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"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#af4c5c4bc7df62d9c450a10142ada2f73">CONTEXT_LOG_MSG_TYPE_TEST</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">CONTEXT_LOG_MSG_TYPE_DEBUG</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a135d5a5bda27a9c86559a49deba43788">CONTEXT_LOG_MSG_TYPE_WARNING</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a5caff9634fb82d206523ecc35720802c">CONTEXT_LOG_MSG_TYPE_CRITICAL</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#aa01ef6b4b7c61c0ae8d236d07bc69a62">CONTEXT_LOG_MODULE_NAME</a>&nbsp;&nbsp;&nbsp;&quot;unknown&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(name)&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(name))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">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" id="aa01ef6b4b7c61c0ae8d236d07bc69a62"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MODULE_NAME" ref="aa01ef6b4b7c61c0ae8d236d07bc69a62" 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">
+
+</div>
+</div>
+<a class="anchor" id="a5caff9634fb82d206523ecc35720802c"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_CRITICAL" ref="a5caff9634fb82d206523ecc35720802c" 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">
+
+</div>
+</div>
+<a class="anchor" id="a31a4dd1d3ccd43a859bc3b3c12de8a83"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_DEBUG" ref="a31a4dd1d3ccd43a859bc3b3c12de8a83" 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">
+
+</div>
+</div>
+<a class="anchor" id="af4c5c4bc7df62d9c450a10142ada2f73"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_TEST" ref="af4c5c4bc7df62d9c450a10142ada2f73" 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">
+
+</div>
+</div>
+<a class="anchor" id="a135d5a5bda27a9c86559a49deba43788"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_WARNING" ref="a135d5a5bda27a9c86559a49deba43788" 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">
+
+</div>
+</div>
+<a class="anchor" id="a7f115b5076497bd3af236e8778940ea1"></a><!-- doxytag: member="logging.h::contextCritical" ref="a7f115b5076497bd3af236e8778940ea1" 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">
+
+</div>
+</div>
+<a class="anchor" id="ad9c4e9fd2b26240900ff7c74cd7e8404"></a><!-- doxytag: member="logging.h::contextDebug" ref="ad9c4e9fd2b26240900ff7c74cd7e8404" 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">
+
+</div>
+</div>
+<a class="anchor" id="afbeb0b1d3a7070b195c5a6a5a062dc56"></a><!-- doxytag: member="logging.h::contextFeature" ref="afbeb0b1d3a7070b195c5a6a5a062dc56" 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">
+
+</div>
+</div>
+<a class="anchor" id="abfb57c8a40821bf0caa9a29a8dfc47b7"></a><!-- doxytag: member="logging.h::contextTest" ref="abfb57c8a40821bf0caa9a29a8dfc47b7" 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">
+
+</div>
+</div>
+<a class="anchor" id="a63433fe15ab356004ccdd4263b0910c0"></a><!-- doxytag: member="logging.h::contextWarning" ref="a63433fe15ab356004ccdd4263b0910c0" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ad554637
--- /dev/null
+++ b/libcontextprovider/doc/html/logging_8h_source.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#af4c5c4bc7df62d9c450a10142ada2f73">00032</a> <span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_TEST 1</span>
+<a name="l00033"></a><a class="code" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">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#a135d5a5bda27a9c86559a49deba43788">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#a5caff9634fb82d206523ecc35720802c">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#aa01ef6b4b7c61c0ae8d236d07bc69a62">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MODULE_NAME &quot;unknown&quot;</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#af1dc3766a0b0e21ba0a2f22a3102d09b" 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#a7c0d22d25f95a49373b195d8c55d1dc7" 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#aee3a7c4dac60f4ec39165edf96466637" 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#ad45b7a29bfd04c8678e2336964621b16" 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#adbf345abfa4979dad50fa64587d8b12b">00057</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b" title="Test messages enabled at runtime.">showTest</a>;
+<a name="l00058"></a><a class="code" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">00058</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07" title="Debug messages enabled at runtime.">showDebug</a>;
+<a name="l00059"></a><a class="code" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">00059</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2" title="Warning messages enabled at runtime.">showWarning</a>;
+<a name="l00060"></a><a class="code" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">00060</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0" title="Critical messages enabled at runtime.">showCritical</a>;
+<a name="l00061"></a><a class="code" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">00061</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8" title="Class initialized/env vars parsed.">initialized</a>;
+<a name="l00062"></a><a class="code" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">00062</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45" title="Don&amp;#39;t print timestamps.">hideTimestamps</a>;
+<a name="l00063"></a><a class="code" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">00063</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902" 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#a261f1adeed09c748431d960c009280e2">00064</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2" title="Show messages only from the specified module.">showModule</a>;
+<a name="l00065"></a><a class="code" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">00065</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f" title="Hide messages from the specified module.">hideModule</a>;
+<a name="l00066"></a><a class="code" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">00066</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486" title="Show messages with only the specified features.">showFeatures</a>;
+<a name="l00067"></a><a class="code" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">00067</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61" title="Hide messages with the specified features.">hideFeatures</a>;
+<a name="l00068"></a><a class="code" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">00068</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413" 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#ae753079d62a886dd09c0576ad524c8f4" 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#a4a3d4d64fb340a1f4adb698106ee6d4b" 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#a83a9a63cef3753053154b86da8da52bb">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#a4a3d4d64fb340a1f4adb698106ee6d4b" 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#a4a3d4d64fb340a1f4adb698106ee6d4b" 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#a95e0d40b90ed9c3f360067a3dadaa0c7">00110</a> <span class="keyword">inline</span> <a class="code" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7" 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#aae39e44e016d29a07bd076470bc171bb">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#aae39e44e016d29a07bd076470bc171bb" 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#afbeb0b1d3a7070b195c5a6a5a062dc56">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#abfb57c8a40821bf0caa9a29a8dfc47b7">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#ad9c4e9fd2b26240900ff7c74cd7e8404">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#a63433fe15ab356004ccdd4263b0910c0">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#a7f115b5076497bd3af236e8778940ea1">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..561bb4cb
--- /dev/null
+++ b/libcontextprovider/doc/html/loggingfeatures_8h.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#adeba982b0ad41bfd090a405f867e212b">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aa6880210114ff09ecc320e99c36f6e37">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aa881d68e06073c6e502b5f016b9bff6a">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a3fb8d13817c872564bdd14246c8725c4">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a1fcf2fbcf3425bbde71ae2fd065fcc76">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aacbda055c445dacbfd21502f47961937">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aa2135bd5e0b76f9686bff0aabf6c570d">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#ae91377869d2b8c07c759312d81180d47">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aa18351b635d165e6c6b3c0fd2e9fb010">F_C</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;cbindings&quot;))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aa881d68e06073c6e502b5f016b9bff6a">F_PROPERTY</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;property&quot;))</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="aa18351b635d165e6c6b3c0fd2e9fb010"></a><!-- doxytag: member="loggingfeatures.h::F_C" ref="aa18351b635d165e6c6b3c0fd2e9fb010" 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">
+
+</div>
+</div>
+<a class="anchor" id="ae91377869d2b8c07c759312d81180d47"></a><!-- doxytag: member="loggingfeatures.h::F_DBUS" ref="ae91377869d2b8c07c759312d81180d47" 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">
+
+</div>
+</div>
+<a class="anchor" id="a3f992e5d9c45228ce6af4ffb0f3f38a3"></a><!-- doxytag: member="loggingfeatures.h::F_DESTROY" ref="a3f992e5d9c45228ce6af4ffb0f3f38a3" 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">
+
+</div>
+</div>
+<a class="anchor" id="aacbda055c445dacbfd21502f47961937"></a><!-- doxytag: member="loggingfeatures.h::F_GROUP" ref="aacbda055c445dacbfd21502f47961937" 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">
+
+</div>
+</div>
+<a class="anchor" id="a3fb8d13817c872564bdd14246c8725c4"></a><!-- doxytag: member="loggingfeatures.h::F_MANAGER" ref="a3fb8d13817c872564bdd14246c8725c4" 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">
+
+</div>
+</div>
+<a class="anchor" id="aa881d68e06073c6e502b5f016b9bff6a"></a><!-- doxytag: member="loggingfeatures.h::F_PROPERTY" ref="aa881d68e06073c6e502b5f016b9bff6a" 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">
+
+</div>
+</div>
+<a class="anchor" id="aa881d68e06073c6e502b5f016b9bff6a"></a><!-- doxytag: member="loggingfeatures.h::F_PROPERTY" ref="aa881d68e06073c6e502b5f016b9bff6a" 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">
+
+</div>
+</div>
+<a class="anchor" id="adeba982b0ad41bfd090a405f867e212b"></a><!-- doxytag: member="loggingfeatures.h::F_SERVICE" ref="adeba982b0ad41bfd090a405f867e212b" 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">
+
+</div>
+</div>
+<a class="anchor" id="aa6880210114ff09ecc320e99c36f6e37"></a><!-- doxytag: member="loggingfeatures.h::F_SERVICE_BACKEND" ref="aa6880210114ff09ecc320e99c36f6e37" 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">
+
+</div>
+</div>
+<a class="anchor" id="aa2135bd5e0b76f9686bff0aabf6c570d"></a><!-- doxytag: member="loggingfeatures.h::F_SIGNALS" ref="aa2135bd5e0b76f9686bff0aabf6c570d" 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">
+
+</div>
+</div>
+<a class="anchor" id="a1fcf2fbcf3425bbde71ae2fd065fcc76"></a><!-- doxytag: member="loggingfeatures.h::F_SUBSCRIBER" ref="a1fcf2fbcf3425bbde71ae2fd065fcc76" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..98f0f434
--- /dev/null
+++ b/libcontextprovider/doc/html/loggingfeatures_8h_source.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#adeba982b0ad41bfd090a405f867e212b">00025</a> <span class="preprocessor">#define F_SERVICE (ContextFeature(&quot;service&quot;))</span>
+<a name="l00026"></a><a class="code" href="loggingfeatures_8h.html#aa6880210114ff09ecc320e99c36f6e37">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define F_SERVICE_BACKEND (ContextFeature(&quot;servicebackend&quot;))</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define F_PROPERTY (ContextFeature(&quot;property&quot;))</span>
+<a name="l00028"></a><a class="code" href="loggingfeatures_8h.html#a3fb8d13817c872564bdd14246c8725c4">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define F_MANAGER (ContextFeature(&quot;manager&quot;))</span>
+<a name="l00029"></a><a class="code" href="loggingfeatures_8h.html#a1fcf2fbcf3425bbde71ae2fd065fcc76">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define F_SUBSCRIBER (ContextFeature(&quot;subscriber&quot;))</span>
+<a name="l00030"></a><a class="code" href="loggingfeatures_8h.html#aacbda055c445dacbfd21502f47961937">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define F_GROUP (ContextFeature(&quot;group&quot;))</span>
+<a name="l00031"></a><a class="code" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define F_DESTROY (ContextFeature(&quot;destroy&quot;))</span>
+<a name="l00032"></a><a class="code" href="loggingfeatures_8h.html#aa2135bd5e0b76f9686bff0aabf6c570d">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define F_SIGNALS (ContextFeature(&quot;signals&quot;))</span>
+<a name="l00033"></a><a class="code" href="loggingfeatures_8h.html#ae91377869d2b8c07c759312d81180d47">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define F_DBUS (ContextFeature(&quot;dbus&quot;))</span>
+<a name="l00034"></a><a class="code" href="loggingfeatures_8h.html#aa18351b635d165e6c6b3c0fd2e9fb010">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define F_C (ContextFeature(&quot;cbindings&quot;))</span>
+<a name="l00035"></a><a class="code" href="loggingfeatures_8h.html#aa881d68e06073c6e502b5f016b9bff6a">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define F_PROPERTY (ContextFeature(&quot;property&quot;))</span>
+<a name="l00036"></a>00036 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d764b0e5
--- /dev/null
+++ b/libcontextprovider/doc/html/namespace_context_provider.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><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 colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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" 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" 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" 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" 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" 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" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html">PropertyAdaptor</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A DBus adaptor for implementing the org.maemo.contextkit.Property. <a href="class_context_provider_1_1_property_adaptor.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html">PropertyPrivate</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The private implementation 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>. <a href="class_context_provider_1_1_property_private.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" 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" 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>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/namespaces.html b/libcontextprovider/doc/html/namespaces.html
new file mode 100644
index 00000000..e159032c
--- /dev/null
+++ b/libcontextprovider/doc/html/namespaces.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/pages.html b/libcontextprovider/doc/html/pages.html
new file mode 100644
index 00000000..7903613e
--- /dev/null
+++ b/libcontextprovider/doc/html/pages.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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>
+<li><a class="el" href="logging.html">Logging</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3368e64d
--- /dev/null
+++ b/libcontextprovider/doc/html/property_8cpp.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="property_8h_source.html">property.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="propertyprivate_8h_source.html">propertyprivate.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="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="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;QPair&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..480fac17
--- /dev/null
+++ b/libcontextprovider/doc/html/property_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..aa83398c
--- /dev/null
+++ b/libcontextprovider/doc/html/property_8h_source.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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
+<a name="l00036"></a>00036 <span class="keyword">class </span>PropertyPrivate;
+<a name="l00037"></a>00037 <span class="keyword">class </span>ServiceBackend;
+<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#a8b66e2cb81aca7f0162a51bb0e9c93f5" 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#ab88d712808775617a9839523c537afcb" 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#a8b66e2cb81aca7f0162a51bb0e9c93f5" 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#a3c5fbb4b6f0ce1f779c2bfa6190ed8d2" 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#ab88d712808775617a9839523c537afcb" 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#acd83fed5c066aa375148738744e5b3e3" 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#a44c5ff15b11d53d2a44bc77cacb41314" 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#af05d9adb2b2ee2a5d66e6a9875ccd167" 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#aa65dc7374559b7a7d86034b8c9ef9807" 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="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> *priv;
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> init(<a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a> *serviceBackend, <span class="keyword">const</span> QString &amp;key);
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 signals:
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property.html#aedb511bfc215c2933193d5685c574943" title="This is emitted when the first subscriber appears for this Property.">firstSubscriberAppeared</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00064"></a>00064
+<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property.html#a586f7dff49a3c4536acc289c314586ee" title="This is emitted when the last subscriber disappears for this Property.">lastSubscriberDisappeared</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00070"></a>00070 };
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 } <span class="comment">// end namespace</span>
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/propertyadaptor_8cpp.html b/libcontextprovider/doc/html/propertyadaptor_8cpp.html
new file mode 100644
index 00000000..766fca97
--- /dev/null
+++ b/libcontextprovider/doc/html/propertyadaptor_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: propertyadaptor.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>propertyadaptor.cpp File Reference</h1><code>#include &quot;<a class="el" href="propertyadaptor_8h_source.html">propertyadaptor.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="propertyprivate_8h_source.html">propertyprivate.h</a>&quot;</code><br/>
+<code>#include &lt;QDBusConnection&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/propertyadaptor_8h.html b/libcontextprovider/doc/html/propertyadaptor_8h.html
new file mode 100644
index 00000000..2104873c
--- /dev/null
+++ b/libcontextprovider/doc/html/propertyadaptor_8h.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: propertyadaptor.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>propertyadaptor.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;QSet&gt;</code><br/>
+<code>#include &lt;QString&gt;</code><br/>
+
+<p><a href="propertyadaptor_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_adaptor.html">ContextProvider::PropertyAdaptor</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A DBus adaptor for implementing the org.maemo.contextkit.Property. <a href="class_context_provider_1_1_property_adaptor.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="propertyadaptor_8h.html#a8a8d1a5a4d46806f6c9368f92e7aea3d">DBUS_INTERFACE</a>&nbsp;&nbsp;&nbsp;&quot;org.maemo.contextkit.Property&quot;</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a8a8d1a5a4d46806f6c9368f92e7aea3d"></a><!-- doxytag: member="propertyadaptor.h::DBUS_INTERFACE" ref="a8a8d1a5a4d46806f6c9368f92e7aea3d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DBUS_INTERFACE&nbsp;&nbsp;&nbsp;&quot;org.maemo.contextkit.Property&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/propertyadaptor_8h_source.html b/libcontextprovider/doc/html/propertyadaptor_8h_source.html
new file mode 100644
index 00000000..b1d89d59
--- /dev/null
+++ b/libcontextprovider/doc/html/propertyadaptor_8h_source.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: propertyadaptor.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>propertyadaptor.h</h1><a href="propertyadaptor_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 PROPERTYADAPTOR_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define PROPERTYADAPTOR_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;QSet&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00031"></a><a class="code" href="propertyadaptor_8h.html#a8a8d1a5a4d46806f6c9368f92e7aea3d">00031</a> <span class="preprocessor">#define DBUS_INTERFACE &quot;org.maemo.contextkit.Property&quot;</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00033"></a>00033 <span class="keyword">namespace </span>ContextProvider {
+<a name="l00034"></a>00034
+<a name="l00035"></a>00035 <span class="keyword">class </span>PropertyPrivate;
+<a name="l00036"></a>00036
+<a name="l00037"></a><a class="code" href="class_context_provider_1_1_property_adaptor.html">00037</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_property_adaptor.html" title="A DBus adaptor for implementing the org.maemo.contextkit.Property.">PropertyAdaptor</a>: <span class="keyword">public</span> QDBusAbstractAdaptor
+<a name="l00038"></a>00038 {
+<a name="l00039"></a>00039 Q_OBJECT
+<a name="l00040"></a>00040 Q_CLASSINFO(<span class="stringliteral">&quot;D-Bus Interface&quot;</span>, <span class="stringliteral">&quot;org.maemo.contextkit.Property&quot;</span>)
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keyword">public</span>:
+<a name="l00043"></a>00043 <a class="code" href="class_context_provider_1_1_property_adaptor.html#ab97e6529a6949024d0339e907d7835f8" title="Constructor.">PropertyAdaptor</a>(<a class="code" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>* property, QDBusConnection *connection);
+<a name="l00044"></a>00044 QString <a class="code" href="class_context_provider_1_1_property_adaptor.html#a660abb2ad421b5f70db4c6a41e8728cf" title="Object path where the corresponding PropertyPrivate object should be registered at...">objectPath</a>() <span class="keyword">const</span>;
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_adaptor.html#af6f3ed4cf800ee36f5fef5231ad49d01" title="Called when the service is stopped and will disappear from D-Bus.">forgetClients</a>();
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keyword">public</span> slots:
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_adaptor.html#a57254ec356721efde35aa72e36f436c9" title="Implementation of the D-Bus method Subscribe.">Subscribe</a>(<span class="keyword">const</span> QDBusMessage&amp; msg, QVariantList&amp; values, quint64&amp; timestamp);
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_adaptor.html#a0a08d426bbede951c3b45795d6885ab8" title="Implementation of the D-Bus method Unsubscribe.">Unsubscribe</a>(<span class="keyword">const</span> QDBusMessage&amp; msg);
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_adaptor.html#ae868927e2b3ade9758f5ab50604d7cb9" title="Implementation of the D-Bus method Get.">Get</a>(QVariantList&amp; values, quint64&amp; timestamp);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 signals:
+<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_adaptor.html#a17f8b6df91329f49291971bdb4397013">ValueChanged</a>(<span class="keyword">const</span> QVariantList &amp;values, <span class="keyword">const</span> quint64&amp; timestamp);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keyword">private</span> slots:
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> onServiceOwnerChanged(<span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString&amp;, <span class="keyword">const</span> QString&amp;);
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> onValueChanged(QVariantList values, quint64 timestamp);
+<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_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> *propertyPrivate;
+<a name="l00061"></a>00061 QDBusConnection *connection;
+<a name="l00062"></a>00062 QSet&lt;QString&gt; clientServiceNames;
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 };
+<a name="l00065"></a>00065
+<a name="l00066"></a>00066 } <span class="comment">// namespace ContextProvider</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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/propertyprivate_8cpp.html b/libcontextprovider/doc/html/propertyprivate_8cpp.html
new file mode 100644
index 00000000..62b56d44
--- /dev/null
+++ b/libcontextprovider/doc/html/propertyprivate_8cpp.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: propertyprivate.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>propertyprivate.cpp File Reference</h1><code>#include &quot;<a class="el" href="propertyprivate_8h_source.html">propertyprivate.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="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="loggingfeatures_8h_source.html">loggingfeatures.h</a>&quot;</code><br/>
+<code>#include &lt;time.h&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="propertyprivate_8cpp.html#a9bdbb9fdbe2e8e06cb706501ef160388">NSECS_IN_SEC</a>&nbsp;&nbsp;&nbsp;1000000000ULL</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a9bdbb9fdbe2e8e06cb706501ef160388"></a><!-- doxytag: member="propertyprivate.cpp::NSECS_IN_SEC" ref="a9bdbb9fdbe2e8e06cb706501ef160388" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NSECS_IN_SEC&nbsp;&nbsp;&nbsp;1000000000ULL</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/propertyprivate_8h.html b/libcontextprovider/doc/html/propertyprivate_8h.html
new file mode 100644
index 00000000..08b14c96
--- /dev/null
+++ b/libcontextprovider/doc/html/propertyprivate_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: propertyprivate.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>propertyprivate.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;QPair&gt;</code><br/>
+
+<p><a href="propertyprivate_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_provider_1_1_property_private.html">ContextProvider::PropertyPrivate</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The private implementation 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>. <a href="class_context_provider_1_1_property_private.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextprovider/doc/html/propertyprivate_8h_source.html b/libcontextprovider/doc/html/propertyprivate_8h_source.html
new file mode 100644
index 00000000..a35110eb
--- /dev/null
+++ b/libcontextprovider/doc/html/propertyprivate_8h_source.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextprovider: propertyprivate.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>propertyprivate.h</h1><a href="propertyprivate_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 PROPERTYPRIVATE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define PROPERTYPRIVATE_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;QPair&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>ServiceBackend;
+<a name="l00033"></a>00033 <span class="keyword">class </span>Property;
+<a name="l00034"></a>00034
+<a name="l00035"></a><a class="code" href="class_context_provider_1_1_property_private.html">00035</a> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a> : <span class="keyword">public</span> QObject
+<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_context_provider_1_1_property_private.html#a95cdc5fa5d6b0a5251708b6adedbd2c0" title="Constructor.">PropertyPrivate</a>(<a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>* serviceBackend, <span class="keyword">const</span> QString &amp;key, QObject *parent = 0);
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_private.html#a113740725c36053cfd542744a7e060c2" title="Set value for the PropertyPrivate.">setValue</a>(<span class="keyword">const</span> QVariant&amp; v);
+<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_private.html#ac11f1d3d6c38a4862051d82f4f49f263" title="Called by PropertyAdaptor when it has overheard another provider sending a value...">updateOverheardValue</a>(<span class="keyword">const</span> QVariantList&amp;, <span class="keyword">const</span> quint64&amp;);
+<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_private.html#aa46fa6bbb5ce1d58e8cc4757126f5d5a" title="Set the PropertyPrivate to subscribed state.">setSubscribed</a>();
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_private.html#aa02178d165e6b35fc5332d9c1d1a845f" title="Set the PropertyPrivate to unsubscribed state.">setUnsubscribed</a>();
+<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_provider_1_1_property_private.html#a99fb930702a8deaaeb45554bf09a93b6">valueChanged</a>(<span class="keyword">const</span> QVariantList&amp; values, <span class="keyword">const</span> quint64&amp; timestamp);
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_private.html#a52cec0b190df6ef4033129bfc3948225">firstSubscriberAppeared</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_property_private.html#a224f37bf688444e3cb1c126287e99d8b">lastSubscriberDisappeared</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00051"></a>00051
+<a name="l00052"></a>00052 <span class="keyword">private</span>:
+<a name="l00053"></a>00053 <span class="keyword">static</span> quint64 currentTimestamp();
+<a name="l00054"></a>00054 <span class="keywordtype">void</span> emitValue();
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="keywordtype">int</span> refCount;
+<a name="l00057"></a>00057 <a class="code" href="class_context_provider_1_1_service_backend.html" title="A ServiceBackend is the real worker behind Service.">ServiceBackend</a>* serviceBackend;
+<a name="l00058"></a>00058 QString key;
+<a name="l00059"></a>00059 QVariant value;
+<a name="l00060"></a>00060 quint64 timestamp;
+<a name="l00061"></a>00061
+<a name="l00062"></a>00062 <span class="keywordtype">bool</span> subscribed;
+<a name="l00063"></a>00063 QVariant emittedValue;
+<a name="l00064"></a>00064 quint64 emittedTimestamp;
+<a name="l00065"></a>00065 <span class="keywordtype">bool</span> overheard;
+<a name="l00066"></a>00066
+<a name="l00068"></a>00068 <span class="keyword">static</span> QHash&lt;QPair&lt;ServiceBackend*, QString&gt;, <a class="code" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>*&gt; propertyPrivateMap;
+<a name="l00069"></a>00069
+<a name="l00070"></a><a class="code" href="class_context_provider_1_1_property_private.html#a386f5a9cf65610cb62143865e5637272">00070</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="l00071"></a><a class="code" href="class_context_provider_1_1_property_private.html#aecebf007df205da3f34b7ce4409bdb33">00071</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_provider_1_1_property_adaptor.html" title="A DBus adaptor for implementing the org.maemo.contextkit.Property.">PropertyAdaptor</a>;
+<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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..811cec78
--- /dev/null
+++ b/libcontextprovider/doc/html/sconnect_8h.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">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" id="acab553d9479843d076c4cf952cceeefc"></a><!-- doxytag: member="sconnect.h::sconnect" ref="acab553d9479843d076c4cf952cceeefc" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..34d474da
--- /dev/null
+++ b/libcontextprovider/doc/html/sconnect_8h_source.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#acab553d9479843d076c4cf952cceeefc">00028</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">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">&quot; *****************\n&quot;</span>
+<a name="l00033"></a>00033 <span class="stringliteral">&quot;Connect returned false, aborting, enable core dumping (ulimit -c unlimited), \n&quot;</span>
+<a name="l00034"></a>00034 <span class="stringliteral">&quot;enable debug (qmake CONFIG+=debug), recompile, rerun and then use the\n&quot;</span>
+<a name="l00035"></a>00035 <span class="stringliteral">&quot;core file with gdb&apos;s backtrace to see the location.\n&quot;</span>
+<a name="l00036"></a>00036 <span class="stringliteral">&quot; *****************\n&quot;</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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..cdf3ee05
--- /dev/null
+++ b/libcontextprovider/doc/html/service_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="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="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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1bd516df
--- /dev/null
+++ b/libcontextprovider/doc/html/service_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..e1770e76
--- /dev/null
+++ b/libcontextprovider/doc/html/service_8h_source.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>Property;
+<a name="l00037"></a>00037 <span class="keyword">class </span>ServiceBackend;
+<a name="l00038"></a>00038
+<a name="l00039"></a><a class="code" href="class_context_provider_1_1_service.html">00039</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="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_service.html#ad9cac0378bb6bc25b65526576a609c6d" title="Creates a Service proxy object which shares the connection with the provider program...">Service</a>(QDBusConnection connection, QObject *parent = 0);
+<a name="l00045"></a>00045 <a class="code" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d" 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="l00046"></a>00046 <a class="code" href="class_context_provider_1_1_service.html#ad9cac0378bb6bc25b65526576a609c6d" 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="l00047"></a>00047 <span class="keyword">virtual</span> <a class="code" href="class_context_provider_1_1_service.html#a365b50365fd98d8ee7a1b7dd10dd84d2" title="Destroys this Service instance.">~Service</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.html#a6434d467cd84a6295bd24572671b5479" title="Start the Service again after it has been stopped.">start</a>();
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#a25cc85c61a07afe679266fc287da0677" title="Stop the service.">stop</a>();
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#a471dbe35bbd9583f9404b15158f367dd" title="Stop and start the service.">restart</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.html#a385b58aef7878b6e33a3989d139f9a4a" title="Sets the Service object as the default one to use when constructing Property objects...">setAsDefault</a>();
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#aee524632842792e9ad80b122eb8600a1" 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="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service.html#ad6bf1d2d8f8c580d4d77e9c4e72fd226" title="Set (override) the QDBusConnection used by the Service.">setConnection</a>(<span class="keyword">const</span> QDBusConnection &amp;connection);
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="keyword">private</span>:
+<a name="l00059"></a>00059 <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="l00060"></a>00060
+<a name="l00061"></a><a class="code" href="class_context_provider_1_1_service.html#a386f5a9cf65610cb62143865e5637272">00061</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="l00062"></a><a class="code" href="class_context_provider_1_1_service.html#ac3553c08a0c7b57a4c15794caebf1936">00062</a> <span class="keyword">friend</span> class ::ServiceUnitTest;
+<a name="l00063"></a>00063 };
+<a name="l00064"></a>00064
+<a name="l00065"></a>00065 } <span class="comment">// end namespace</span>
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2977d101
--- /dev/null
+++ b/libcontextprovider/doc/html/servicebackend_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="propertyprivate_8h_source.html">propertyprivate.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="propertyadaptor_8h_source.html">propertyadaptor.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="loggingfeatures_8h_source.html">loggingfeatures.h</a>&quot;</code><br/>
+<code>#include &lt;QDBusError&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f9535f4a
--- /dev/null
+++ b/libcontextprovider/doc/html/servicebackend_8h.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &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/>
+<code>#include &lt;QSet&gt;</code><br/>
+
+<p><a href="servicebackend_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..91060b4a
--- /dev/null
+++ b/libcontextprovider/doc/html/servicebackend_8h_source.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &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 <span class="preprocessor">#include &lt;QSet&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>PropertyAdaptor;
+<a name="l00038"></a>00038 <span class="keyword">class </span>PropertyPrivate;
+<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#a2f72a8d1752eb4f930410deed93bd14e" 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#a2f72a8d1752eb4f930410deed93bd14e" 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#a7c22a78525e271a443d0b328c09a8ebb" 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#a7b9d7a6b42fde2e7841edd7dbd5589af" 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#af0ffcd20b78a6c070b46f2a808974bf5" 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#af580af0059e69905ee6aefa55056bdd5" 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#a8d167b71faec3c38533717354b2fcf7b" title="Associate a PropertyPrivate object with this ServiceBackend.">addProperty</a>(<span class="keyword">const</span> QString&amp; key, <a class="code" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>* property);
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#a1f25b50b4abc8e8a5fbdf0b9b38f6691" title="Sets the ServiceBackend object as the default one to use when constructing Property...">setAsDefault</a>();
+<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#a3380d860b28632814283af9cb48115ad" 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
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#a2b33587710d46129c3554fc405e93858" title="Increase the reference count by one. Service calls this.">ref</a>();
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_context_provider_1_1_service_backend.html#a44c270d04037efde600e3f2ba7e4188f" title="Decrease the reference count by one.">unref</a>();
+<a name="l00060"></a>00060
+<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#a03beadb30b9d1f837d372ccc77004595" title="Returns a ServiceBackend instance for a given connection.">instance</a>(QDBusConnection connection);
+<a name="l00062"></a>00062 <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#a03beadb30b9d1f837d372ccc77004595" title="Returns a ServiceBackend instance for a given connection.">instance</a>(QDBusConnection::BusType busType,
+<a name="l00063"></a>00063 <span class="keyword">const</span> QString &amp;busName,
+<a name="l00064"></a>00064 <span class="keywordtype">bool</span> autoStart);
+<a name="l00065"></a><a class="code" href="class_context_provider_1_1_service_backend.html#adba83a5a2a30247be68cd8485b3c6306">00065</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#adba83a5a2a30247be68cd8485b3c6306">defaultServiceBackend</a>;
+<a name="l00066"></a><a class="code" href="class_context_provider_1_1_service_backend.html#aed41fb3009b4b10268a07c9e2fb37ece">00066</a> <span class="keyword">friend</span> class ::ServiceBackendUnitTest;
+<a name="l00067"></a><a class="code" href="class_context_provider_1_1_service_backend.html#a6474ceb8669761e879329b39c3afb899">00067</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="l00068"></a>00068
+<a name="l00069"></a>00069 <span class="keyword">private</span>:
+<a name="l00070"></a>00070 <span class="keywordtype">bool</span> registerProperty(<span class="keyword">const</span> QString&amp; key, <a class="code" href="class_context_provider_1_1_property_private.html" title="The private implementation of Property.">PropertyPrivate</a>* property);
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 <span class="keywordtype">int</span> refCount;
+<a name="l00073"></a>00073
+<a name="l00076"></a>00076 QDBusConnection connection;
+<a name="l00077"></a>00077
+<a name="l00080"></a>00080 QString busName;
+<a name="l00081"></a>00081
+<a name="l00083"></a>00083 <span class="keyword">static</span> QHash &lt;QString, ServiceBackend*&gt; instances;
+<a name="l00084"></a>00084
+<a name="l00086"></a>00086 QHash&lt;QString, PropertyPrivate*&gt; properties;
+<a name="l00087"></a>00087
+<a name="l00090"></a>00090 QHash&lt;QString, PropertyAdaptor*&gt; createdAdaptors;
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092
+<a name="l00093"></a>00093 } <span class="comment">// end namespace</span>
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1bff28cd
--- /dev/null
+++ b/libcontextprovider/doc/html/struct_context_provider_1_1_group_private-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_1_1_group_private.html#ab5bd08568b4665a4a053bf2f66c0ca1d">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#a447f70a1352ed264f5bf4a9f86c12a25">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 Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..01f2f520
--- /dev/null
+++ b/libcontextprovider/doc/html/struct_context_provider_1_1_group_private.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_1_1_group_private.html#a447f70a1352ed264f5bf4a9f86c12a25">propertiesSubscribedTo</a></td></tr>
+<tr><td class="memItemLeft" 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#ab5bd08568b4665a4a053bf2f66c0ca1d">properties</a></td></tr>
+</table>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ab5bd08568b4665a4a053bf2f66c0ca1d"></a><!-- doxytag: member="ContextProvider::GroupPrivate::properties" ref="ab5bd08568b4665a4a053bf2f66c0ca1d" 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#ab5bd08568b4665a4a053bf2f66c0ca1d">ContextProvider::GroupPrivate::properties</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a447f70a1352ed264f5bf4a9f86c12a25"></a><!-- doxytag: member="ContextProvider::GroupPrivate::propertiesSubscribedTo" ref="a447f70a1352ed264f5bf4a9f86c12a25" 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#a447f70a1352ed264f5bf4a9f86c12a25">ContextProvider::GroupPrivate::propertiesSubscribedTo</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="group_8cpp.html">group.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:22 2009 for libcontextprovider by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a4441634
--- /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 #MSearchBox
+{
+ 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/src/Makefile.in b/libcontextprovider/src/Makefile.in
new file mode 100644
index 00000000..8a77d566
--- /dev/null
+++ b/libcontextprovider/src/Makefile.in
@@ -0,0 +1,693 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(includecontextproviderdir)" \
+ "$(DESTDIR)$(includecontextprovidercontextdir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libcontextprovider_la_DEPENDENCIES = \
+ $(top_builddir)/common/libcommon.la
+am_libcontextprovider_la_OBJECTS = service.lo property.lo \
+ propertyprivate.lo group.lo contextc.lo listeners.lo \
+ servicebackend.lo propertyadaptor.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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 \
+ propertyprivate.h \
+ propertyprivate.cpp \
+ group.h \
+ group.cpp \
+ contextc.h \
+ contextc.cpp \
+ listeners.h \
+ listeners.cpp \
+ context_provider.h \
+ servicebackend.h \
+ servicebackend.cpp \
+ propertyadaptor.h \
+ propertyadaptor.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
+DISTCLEANFILES = context
+
+# 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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ 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)/mocs.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/property.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyadaptor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertyprivate.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@
+
+.cpp.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)'; test -n "$(includecontextproviderdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includecontextproviderdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includecontextproviderdir)" || exit $$?; \
+ done
+
+uninstall-includecontextproviderHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(includecontextprovider_HEADERS)'; test -n "$(includecontextproviderdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(includecontextproviderdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(includecontextproviderdir)" && rm -f $$files
+install-includecontextprovidercontextHEADERS: $(includecontextprovidercontext_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(includecontextprovidercontextdir)" || $(MKDIR_P) "$(DESTDIR)$(includecontextprovidercontextdir)"
+ @list='$(includecontextprovidercontext_HEADERS)'; test -n "$(includecontextprovidercontextdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includecontextprovidercontextdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includecontextprovidercontextdir)" || exit $$?; \
+ done
+
+uninstall-includecontextprovidercontextHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(includecontextprovidercontext_HEADERS)'; test -n "$(includecontextprovidercontextdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(includecontextprovidercontextdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(includecontextprovidercontextdir)" && rm -f $$files
+
+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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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."
+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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includecontextproviderHEADERS \
+ install-includecontextprovidercontextHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: FORCE
+
+# 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..cc7c081b
--- /dev/null
+++ b/libcontextprovider/unit-tests/Makefile.in
@@ -0,0 +1,633 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 = 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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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..e87cc50b
--- /dev/null
+++ b/libcontextprovider/unit-tests/contextc/Makefile.in
@@ -0,0 +1,738 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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..95e8aaee
--- /dev/null
+++ b/libcontextprovider/unit-tests/contextgroup/Makefile.in
@@ -0,0 +1,737 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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/property/.gitignore b/libcontextprovider/unit-tests/property/.gitignore
deleted file mode 100644
index e1526e46..00000000
--- a/libcontextprovider/unit-tests/property/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-propertyunittest
-property.cpp
-propertyprivate.cpp
-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..7d4db3a9
--- /dev/null
+++ b/libcontextprovider/unit-tests/property/Makefile.in
@@ -0,0 +1,738 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = property.$(OBJEXT) propertyprivate.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 service.h servicebackend.h property.h propertyprivate.h manager.h
+COVERAGE_FILES = property.cpp propertyprivate.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 propertyprivate.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_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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/propertyprivate.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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..72ea6790
--- /dev/null
+++ b/libcontextprovider/unit-tests/service/Makefile.in
@@ -0,0 +1,737 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = service.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 servicebackend.h manager.h manageradaptor.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
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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..ee9939e3
--- /dev/null
+++ b/libcontextprovider/unit-tests/servicebackend/Makefile.in
@@ -0,0 +1,737 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 propertyprivate.h propertyadaptor.h 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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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/libcontextsubscriber/.gitignore b/libcontextsubscriber/.gitignore
deleted file mode 100644
index 5f2d18c3..00000000
--- a/libcontextsubscriber/.gitignore
+++ /dev/null
@@ -1,52 +0,0 @@
-libmocs.a
-libmock.a
-*.o
-*.la
-*.a
-moc_*.cpp
-mock_*.cpp
-mocmock_*.cpp
-mocs.cpp
-
-Makefile
-
-# Auto-generated
-contextsubscriber-1.0.pc
-contextsubscriber-1.0-uninstalled.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
-/cls/context-ls
-/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..76fdc384
--- /dev/null
+++ b/libcontextsubscriber/Makefile.in
@@ -0,0 +1,673 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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-uninstalled.pc.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/dolt.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 \
+ contextsubscriber-1.0-uninstalled.pc
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
+DATA = $(pkgconfig_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+contextsubscriber-1.0.pc: $(top_builddir)/config.status $(srcdir)/contextsubscriber-1.0.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+contextsubscriber-1.0-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/contextsubscriber-1.0-uninstalled.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)'; test -n "$(pkgconfigdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+
+# 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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgconfigDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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..8c8a9995
--- /dev/null
+++ b/libcontextsubscriber/cli/Makefile.in
@@ -0,0 +1,605 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C ../src libcontextsubscriber.la
+
+.PHONY: FORCE
+
+# 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/cls/Makefile.in b/libcontextsubscriber/cls/Makefile.in
new file mode 100644
index 00000000..5ca21693
--- /dev/null
+++ b/libcontextsubscriber/cls/Makefile.in
@@ -0,0 +1,561 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C ../src libcontextsubscriber.la
+
+.PHONY: FORCE
+
+# 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..f5fd4396
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/Makefile.in
@@ -0,0 +1,673 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = $(dist_libcontextsubscribertests_DATA) \
+ $(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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libcontextsubscribertestsdir)"
+DATA = $(dist_libcontextsubscribertests_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+dist_libcontextsubscribertests_DATA = tests.xml
+CLEANFILES = *.pyc
+EXTRA_DIST = asynchronicity commander subscription runTests.sh \
+ registry pluginchanging env.sh coverage-build \
+ waitforsilence
+
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_libcontextsubscribertestsDATA: $(dist_libcontextsubscribertests_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(libcontextsubscribertestsdir)" || $(MKDIR_P) "$(DESTDIR)$(libcontextsubscribertestsdir)"
+ @list='$(dist_libcontextsubscribertests_DATA)'; test -n "$(libcontextsubscribertestsdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libcontextsubscribertestsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(libcontextsubscribertestsdir)" || exit $$?; \
+ done
+
+uninstall-dist_libcontextsubscribertestsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_libcontextsubscribertests_DATA)'; test -n "$(libcontextsubscribertestsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(libcontextsubscribertestsdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(libcontextsubscribertestsdir)" && rm -f $$files
+
+# 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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_libcontextsubscribertestsDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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-dist_libcontextsubscribertestsDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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-dist_libcontextsubscribertestsDATA \
+ 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 \
+ uninstall-dist_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..0367ed88
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/Makefile.in
@@ -0,0 +1,606 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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..a2137b90
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin1/Makefile.in
@@ -0,0 +1,629 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(plugindir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
+ }
+
+uninstall-pluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
+ 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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pluginLTLIBRARIES
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.a
+
+.PHONY: FORCE
+
+# 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..55ec5b0a
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/testplugins/timeplugin2/Makefile.in
@@ -0,0 +1,629 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(plugindir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
+ }
+
+uninstall-pluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
+ 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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pluginLTLIBRARIES
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.a
+
+.PHONY: FORCE
+
+# 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..c32ae96d
--- /dev/null
+++ b/libcontextsubscriber/customer-tests/update-contextkit-providers/Makefile.in
@@ -0,0 +1,406 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 regen.sh \
+ Battery.Charging_KEYDOC.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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/doc/Makefile.in b/libcontextsubscriber/doc/Makefile.in
new file mode 100644
index 00000000..5db9d960
--- /dev/null
+++ b/libcontextsubscriber/doc/Makefile.in
@@ -0,0 +1,417 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 async-demo
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: html/index.html
+
+html/index.html: ../src/*.cpp ../src/*.h
+ @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..baf4f863
--- /dev/null
+++ b/libcontextsubscriber/doc/html/annotated.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_assoc_tree.html">AssocTree</a></td><td class="indexvalue"></td></tr>
+ <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_list_info.html">ContextListInfo</a></td><td class="indexvalue"></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_string_enum_info.html">ContextStringEnumInfo</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td class="indexvalue">A class to access the type registry </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 an association tree, which serves as a nano document object model </td></tr>
+ <tr><td class="indexkey"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td class="indexvalue"></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_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_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_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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/assoctree_8cpp.html b/libcontextsubscriber/doc/html/assoctree_8cpp.html
new file mode 100644
index 00000000..8d1648c3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/assoctree_8cpp.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: assoctree.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>assoctree.cpp File Reference</h1><code>#include &quot;<a class="el" href="assoctree_8h_source.html">assoctree.h</a>&quot;</code><br/>
+<code>#include &lt;QDebug&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/assoctree_8h.html b/libcontextsubscriber/doc/html/assoctree_8h.html
new file mode 100644
index 00000000..3793cb7e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/assoctree_8h.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: assoctree.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>assoctree.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="assoctree_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html">AssocTree</a></td></tr>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/assoctree_8h_source.html b/libcontextsubscriber/doc/html/assoctree_8h_source.html
new file mode 100644
index 00000000..a68015dc
--- /dev/null
+++ b/libcontextsubscriber/doc/html/assoctree_8h_source.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: assoctree.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>assoctree.h</h1><a href="assoctree_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 ASSOCTREE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define ASSOCTREE_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_assoc_tree.html">00031</a> <span class="keyword">class </span><a class="code" href="class_assoc_tree.html">AssocTree</a> : <span class="keyword">public</span> QVariant
+<a name="l00032"></a>00032 {
+<a name="l00033"></a>00033 <span class="keyword">public</span>:
+<a name="l00034"></a><a class="code" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">00034</a> <a class="code" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>() : QVariant() {};
+<a name="l00035"></a><a class="code" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">00035</a> <a class="code" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">AssocTree</a>(<span class="keyword">const</span> QVariant &amp;root) : QVariant(root) {};
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 QString <a class="code" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca" title="Dumps a QVariant into a multi-line string for debugging purposes.">dump</a>(<span class="keywordtype">int</span> level = 0) <span class="keyword">const</span>;
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 QString <a class="code" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8" title="Returns the name of this association tree.">name</a>() <span class="keyword">const</span>;
+<a name="l00040"></a>00040 QVariant <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>() <span class="keyword">const</span>;
+<a name="l00041"></a>00041 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593" title="Returns the sub-tree with the given name.">node</a>(<span class="keyword">const</span> QString &amp;<a class="code" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8" title="Returns the name of this association tree.">name</a>) <span class="keyword">const</span>;
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 QVariant <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="keyword">const</span> QString &amp;name1) <span class="keyword">const</span>;
+<a name="l00044"></a>00044 QVariant <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00045"></a>00045 <span class="keyword">const</span> QString &amp;name2) <span class="keyword">const</span>;
+<a name="l00046"></a>00046 QVariant <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00047"></a>00047 <span class="keyword">const</span> QString &amp;name2,
+<a name="l00048"></a>00048 <span class="keyword">const</span> QString &amp;name3) <span class="keyword">const</span>;
+<a name="l00049"></a>00049 QVariant <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00050"></a>00050 <span class="keyword">const</span> QString &amp;name2,
+<a name="l00051"></a>00051 <span class="keyword">const</span> QString &amp;name3,
+<a name="l00052"></a>00052 <span class="keyword">const</span> QString &amp;name4) <span class="keyword">const</span>;
+<a name="l00053"></a>00053 QVariant <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00054"></a>00054 <span class="keyword">const</span> QString &amp;name2,
+<a name="l00055"></a>00055 <span class="keyword">const</span> QString &amp;name3,
+<a name="l00056"></a>00056 <span class="keyword">const</span> QString &amp;name4,
+<a name="l00057"></a>00057 <span class="keyword">const</span> QString &amp;name5) <span class="keyword">const</span>;
+<a name="l00058"></a>00058
+<a name="l00059"></a>00059 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593" title="Returns the sub-tree with the given name.">node</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00060"></a>00060 <span class="keyword">const</span> QString &amp;name2) <span class="keyword">const</span>;
+<a name="l00061"></a>00061 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593" title="Returns the sub-tree with the given name.">node</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00062"></a>00062 <span class="keyword">const</span> QString &amp;name2,
+<a name="l00063"></a>00063 <span class="keyword">const</span> QString &amp;name3) <span class="keyword">const</span>;
+<a name="l00064"></a>00064 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593" title="Returns the sub-tree with the given name.">node</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00065"></a>00065 <span class="keyword">const</span> QString &amp;name2,
+<a name="l00066"></a>00066 <span class="keyword">const</span> QString &amp;name3,
+<a name="l00067"></a>00067 <span class="keyword">const</span> QString &amp;name4) <span class="keyword">const</span>;
+<a name="l00068"></a>00068 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593" title="Returns the sub-tree with the given name.">node</a>(<span class="keyword">const</span> QString &amp;name1,
+<a name="l00069"></a>00069 <span class="keyword">const</span> QString &amp;name2,
+<a name="l00070"></a>00070 <span class="keyword">const</span> QString &amp;name3,
+<a name="l00071"></a>00071 <span class="keyword">const</span> QString &amp;name4,
+<a name="l00072"></a>00072 <span class="keyword">const</span> QString &amp;name5) <span class="keyword">const</span>;
+<a name="l00073"></a>00073
+<a name="l00074"></a>00074 <span class="keyword">const</span> QVariantList <a class="code" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52" title="Returns a list of all sub-trees.">nodes</a>() <span class="keyword">const</span>;
+<a name="l00075"></a>00075 };
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="preprocessor">#endif // ASSOCTREE_H</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4d551c71
--- /dev/null
+++ b/libcontextsubscriber/doc/html/asyncdbusinterface_8cpp.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..51f6b809
--- /dev/null
+++ b/libcontextsubscriber/doc/html/asyncdbusinterface_8h.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..341e9da2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/asyncdbusinterface_8h_source.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a744b95cd3be282e83cf0fdc63e41144b">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d1c6b155
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbreader_8cpp.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..05b11c72
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbreader_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..55eb033b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbreader_8h_source.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#ada59740e3d69efc32db88cdb4514dcfa" 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#abd17716f2bcfc205ddf9ab47b5005a8a" 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#a4a6881b3b4fd14c2badcdbbfc1a5741c" 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#a32774adde1a5edcf80e2ccd981d93eb5" title="Reopens the reader for reading.">reopen</a>();
+<a name="l00041"></a>00041 QVariantList <a class="code" href="class_c_d_b_reader.html#a0ad9d8670836cc8ce12a2f364495aa5c" 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#a65d872621906917c9f72bcfebf24343b" 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#a05e7a3925a61aea6a0375c05f16cc142" 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#a5a5b29f1d6c958ea4384f7e9680d0d3e" 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#ae38694ac8ddcf3f290616e28c163bfd5">00047</a> QString <a class="code" href="class_c_d_b_reader.html#ae38694ac8ddcf3f290616e28c163bfd5" title="Path pointing to the database.">path</a>;
+<a name="l00048"></a><a class="code" href="class_c_d_b_reader.html#a2724a80b3ddfb3a30e6af954d162403f">00048</a> <span class="keywordtype">void</span> *<a class="code" href="class_c_d_b_reader.html#a2724a80b3ddfb3a30e6af954d162403f" title="Cdb library object used for reading.">cdb</a>;
+<a name="l00049"></a><a class="code" href="class_c_d_b_reader.html#a95f1693de1549bf12e299a18f678178c">00049</a> <span class="keywordtype">int</span> <a class="code" href="class_c_d_b_reader.html#a95f1693de1549bf12e299a18f678178c" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b0240a80
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbwriter_8cpp.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c551a215
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbwriter_8h.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..de7a2c6e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/cdbwriter_8h_source.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#ae40a943a3cf86d6ca9b5350357d83a74" 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#ae40a943a3cf86d6ca9b5350357d83a74" 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#adb50416b86fe2dcb95ec16e9a5bdc6ea" 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#ae8f20236cbe613623d71af092d0aeaf6" 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> <a class="code" href="class_c_d_b_writer.html#a7badfc7cd1c94ef07a3c630c0f0bd0fb" title="Add a new key with val to the database.">add</a>(<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#a3c54b531d448d33660b7d089118dfd4c" 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#aee735f7f3c2540e8dfe180bc2775dfb5" 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#a8de500cd2916cca7709862624fd52728" 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#aaa1e44ad6f40ffb7de3a2ad2d361cd62" 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#a2ff2ca31100e94d445741e80dcddfee0" 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#a142d82fc35b3ad495588ad2299cb5f2b">00046</a> <span class="keywordtype">void</span> *<a class="code" href="class_c_d_b_writer.html#a142d82fc35b3ad495588ad2299cb5f2b" 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#adb50416b86fe2dcb95ec16e9a5bdc6ea">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#acb6cbc68cd6370bbdbeb0f08163dbca5" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_assoc_tree-members.html b/libcontextsubscriber/doc/html/class_assoc_tree-members.html
new file mode 100644
index 00000000..ea0587f5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_assoc_tree-members.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>AssocTree Member List</h1>This is the complete list of members for <a class="el" href="class_assoc_tree.html">AssocTree</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>()</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">AssocTree</a>(const QVariant &amp;root)</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">dump</a>(int level=0) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8">name</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593">node</a>(const QString &amp;name) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a56c5c190fd1bc330815d530eba81190a">node</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a511793ffc1dd3838837104892314c109">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab4b6e11b9aefa354e392b2971869dfa4">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a1ff303816cce9076cf453866ed4fff24">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">nodes</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">value</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ae396650bfb964d4aa4535af0b63ac488">value</a>(const QString &amp;name1) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a556e85ecc5ebaa14e7e141703ba4d7a5">value</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a34737a631a9fe5595424d84a7ce706e6">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a87c206613662c98e1978df031aed2625">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a564cde83c39440dfdae5f9915c615b22">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_assoc_tree.html b/libcontextsubscriber/doc/html/class_assoc_tree.html
new file mode 100644
index 00000000..bbd95978
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_assoc_tree.html
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: AssocTree 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>AssocTree Class Reference</h1><!-- doxytag: class="AssocTree" -->
+<p><code>#include &lt;<a class="el" href="assoctree_8h_source.html">assoctree.h</a>&gt;</code></p>
+
+<p><a href="class_assoc_tree-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">AssocTree</a> (const QVariant &amp;root)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">dump</a> (int level=0) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps a QVariant into a multi-line string for debugging purposes. <a href="#a86fddfd70f6bd0ae64890dd38b4880ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8">name</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of this association tree. <a href="#a60486351567cdfb026beaee14bcd8fe8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">value</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of this tree. <a href="#adb957da33e19cb184f9c69400965edd8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593">node</a> (const QString &amp;name) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the sub-tree with the given name. <a href="#a050c6c6abeeb3ae50c94149849824593"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#ae396650bfb964d4aa4535af0b63ac488">value</a> (const QString &amp;name1) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of the sub-tree named name1. <a href="#ae396650bfb964d4aa4535af0b63ac488"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a556e85ecc5ebaa14e7e141703ba4d7a5">value</a> (const QString &amp;name1, const QString &amp;name2) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a34737a631a9fe5595424d84a7ce706e6">value</a> (const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a87c206613662c98e1978df031aed2625">value</a> (const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a564cde83c39440dfdae5f9915c615b22">value</a> (const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a56c5c190fd1bc330815d530eba81190a">node</a> (const QString &amp;name1, const QString &amp;name2) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the sub-tree named <em>name2</em> of the sub-tree named <em>name1</em>. <a href="#a56c5c190fd1bc330815d530eba81190a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a511793ffc1dd3838837104892314c109">node</a> (const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#ab4b6e11b9aefa354e392b2971869dfa4">node</a> (const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a1ff303816cce9076cf453866ed4fff24">node</a> (const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const QVariantList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">nodes</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a list of all sub-trees. <a href="#a49284f57a3bb6c4400b3fe74cb476c52"></a><br/></td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa9c0a11b88c8bede08d53632196f5c9b"></a><!-- doxytag: member="AssocTree::AssocTree" ref="aa9c0a11b88c8bede08d53632196f5c9b" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">AssocTree::AssocTree </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab92ec35b4f33539e0a63716600e61b88"></a><!-- doxytag: member="AssocTree::AssocTree" ref="ab92ec35b4f33539e0a63716600e61b88" args="(const QVariant &amp;root)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">AssocTree::AssocTree </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>root</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a86fddfd70f6bd0ae64890dd38b4880ca"></a><!-- doxytag: member="AssocTree::dump" ref="a86fddfd70f6bd0ae64890dd38b4880ca" args="(int level=0) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString AssocTree::dump </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>level</em> = <code>0</code></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Dumps a QVariant into a multi-line string for debugging purposes. </p>
+
+</div>
+</div>
+<a class="anchor" id="a60486351567cdfb026beaee14bcd8fe8"></a><!-- doxytag: member="AssocTree::name" ref="a60486351567cdfb026beaee14bcd8fe8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString AssocTree::name </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 this association tree. </p>
+
+<p>Reimplemented in <a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">ContextTypeInfo</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1ff303816cce9076cf453866ed4fff24"></a><!-- doxytag: member="AssocTree::node" ref="a1ff303816cce9076cf453866ed4fff24" args="(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> AssocTree::node </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name4</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name5</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab4b6e11b9aefa354e392b2971869dfa4"></a><!-- doxytag: member="AssocTree::node" ref="ab4b6e11b9aefa354e392b2971869dfa4" args="(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> AssocTree::node </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name4</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a511793ffc1dd3838837104892314c109"></a><!-- doxytag: member="AssocTree::node" ref="a511793ffc1dd3838837104892314c109" args="(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> AssocTree::node </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a56c5c190fd1bc330815d530eba81190a"></a><!-- doxytag: member="AssocTree::node" ref="a56c5c190fd1bc330815d530eba81190a" args="(const QString &amp;name1, const QString &amp;name2) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> AssocTree::node </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the sub-tree named <em>name2</em> of the sub-tree named <em>name1</em>. </p>
+
+</div>
+</div>
+<a class="anchor" id="a050c6c6abeeb3ae50c94149849824593"></a><!-- doxytag: member="AssocTree::node" ref="a050c6c6abeeb3ae50c94149849824593" args="(const QString &amp;name) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> AssocTree::node </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 the sub-tree with the given name. </p>
+
+</div>
+</div>
+<a class="anchor" id="a49284f57a3bb6c4400b3fe74cb476c52"></a><!-- doxytag: member="AssocTree::nodes" ref="a49284f57a3bb6c4400b3fe74cb476c52" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const QVariantList AssocTree::nodes </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a list of all sub-trees. </p>
+
+</div>
+</div>
+<a class="anchor" id="a564cde83c39440dfdae5f9915c615b22"></a><!-- doxytag: member="AssocTree::value" ref="a564cde83c39440dfdae5f9915c615b22" args="(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant AssocTree::value </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name4</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name5</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a87c206613662c98e1978df031aed2625"></a><!-- doxytag: member="AssocTree::value" ref="a87c206613662c98e1978df031aed2625" args="(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant AssocTree::value </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name4</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a34737a631a9fe5595424d84a7ce706e6"></a><!-- doxytag: member="AssocTree::value" ref="a34737a631a9fe5595424d84a7ce706e6" args="(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant AssocTree::value </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name3</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a556e85ecc5ebaa14e7e141703ba4d7a5"></a><!-- doxytag: member="AssocTree::value" ref="a556e85ecc5ebaa14e7e141703ba4d7a5" args="(const QString &amp;name1, const QString &amp;name2) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant AssocTree::value </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name2</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae396650bfb964d4aa4535af0b63ac488"></a><!-- doxytag: member="AssocTree::value" ref="ae396650bfb964d4aa4535af0b63ac488" args="(const QString &amp;name1) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant AssocTree::value </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>name1</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the value of the sub-tree named name1. </p>
+
+</div>
+</div>
+<a class="anchor" id="adb957da33e19cb184f9c69400965edd8"></a><!-- doxytag: member="AssocTree::value" ref="adb957da33e19cb184f9c69400965edd8" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant AssocTree::value </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the value of this tree. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="assoctree_8h_source.html">assoctree.h</a></li>
+<li><a class="el" href="assoctree_8cpp.html">assoctree.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b144e115
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_async_d_bus_interface-members.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_async_d_bus_interface.html#a744b95cd3be282e83cf0fdc63e41144b">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f847cdd8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_async_d_bus_interface.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>This is a workaround for QtDBus to be asynchronous.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_async_d_bus_interface.html#a744b95cd3be282e83cf0fdc63e41144b">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>
+<p>This is a workaround for QtDBus to be asynchronous. </p>
+<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>
+<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>
+<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>
+<p>Unfortunately QDBusAbstractInterface only has a protected constructor, so we need this wrapper class, which makes that constructor available to us.</p>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a744b95cd3be282e83cf0fdc63e41144b"></a><!-- doxytag: member="AsyncDBusInterface::AsyncDBusInterface" ref="a744b95cd3be282e83cf0fdc63e41144b" 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">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="asyncdbusinterface_8cpp.html">asyncdbusinterface.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..0894e48a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_reader-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_reader.html#a2724a80b3ddfb3a30e6af954d162403f">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#ada59740e3d69efc32db88cdb4514dcfa">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#a4a6881b3b4fd14c2badcdbbfc1a5741c">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#a95f1693de1549bf12e299a18f678178c">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#a5a5b29f1d6c958ea4384f7e9680d0d3e">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#a05e7a3925a61aea6a0375c05f16cc142">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#ae38694ac8ddcf3f290616e28c163bfd5">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#a32774adde1a5edcf80e2ccd981d93eb5">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#a65d872621906917c9f72bcfebf24343b">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#a0ad9d8670836cc8ce12a2f364495aa5c">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#abd17716f2bcfc205ddf9ab47b5005a8a">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ae059aea
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_reader.html
@@ -0,0 +1,311 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A wrapper class to read data from a tiny-cdb database.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#ada59740e3d69efc32db88cdb4514dcfa">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="#ada59740e3d69efc32db88cdb4514dcfa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#abd17716f2bcfc205ddf9ab47b5005a8a">~CDBReader</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the object automatically closing the database and file. <a href="#abd17716f2bcfc205ddf9ab47b5005a8a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a4a6881b3b4fd14c2badcdbbfc1a5741c">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="#a4a6881b3b4fd14c2badcdbbfc1a5741c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a32774adde1a5edcf80e2ccd981d93eb5">reopen</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reopens the reader for reading. <a href="#a32774adde1a5edcf80e2ccd981d93eb5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariantList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a0ad9d8670836cc8ce12a2f364495aa5c">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="#a0ad9d8670836cc8ce12a2f364495aa5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a65d872621906917c9f72bcfebf24343b">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="#a65d872621906917c9f72bcfebf24343b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a05e7a3925a61aea6a0375c05f16cc142">isReadable</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current state of the reader. <a href="#a05e7a3925a61aea6a0375c05f16cc142"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a5a5b29f1d6c958ea4384f7e9680d0d3e">fileDescriptor</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file descriptor used by the reader. <a href="#a5a5b29f1d6c958ea4384f7e9680d0d3e"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#ae38694ac8ddcf3f290616e28c163bfd5">path</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Path pointing to the database. <a href="#ae38694ac8ddcf3f290616e28c163bfd5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a2724a80b3ddfb3a30e6af954d162403f">cdb</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cdb library object used for reading. <a href="#a2724a80b3ddfb3a30e6af954d162403f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_reader.html#a95f1693de1549bf12e299a18f678178c">fd</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A file descriptor to the database. <a href="#a95f1693de1549bf12e299a18f678178c"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A wrapper class to read data from a tiny-cdb database. </p>
+<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>
+<p>Reading from a closed reader will return empty strings. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ada59740e3d69efc32db88cdb4514dcfa"></a><!-- doxytag: member="CDBReader::CDBReader" ref="ada59740e3d69efc32db88cdb4514dcfa" 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><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="abd17716f2bcfc205ddf9ab47b5005a8a"></a><!-- doxytag: member="CDBReader::~CDBReader" ref="abd17716f2bcfc205ddf9ab47b5005a8a" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a4a6881b3b4fd14c2badcdbbfc1a5741c"></a><!-- doxytag: member="CDBReader::close" ref="a4a6881b3b4fd14c2badcdbbfc1a5741c" 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>
+<a class="anchor" id="a5a5b29f1d6c958ea4384f7e9680d0d3e"></a><!-- doxytag: member="CDBReader::fileDescriptor" ref="a5a5b29f1d6c958ea4384f7e9680d0d3e" 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>
+<p>Returns 0 when the reader is closed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a05e7a3925a61aea6a0375c05f16cc142"></a><!-- doxytag: member="CDBReader::isReadable" ref="a05e7a3925a61aea6a0375c05f16cc142" 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>
+<p>Reader is not readable if it was created with a path that doesn't exist or if it was closed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a32774adde1a5edcf80e2ccd981d93eb5"></a><!-- doxytag: member="CDBReader::reopen" ref="a32774adde1a5edcf80e2ccd981d93eb5" 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>
+<p>It will first close the current reader if it's open. </p>
+
+</div>
+</div>
+<a class="anchor" id="a65d872621906917c9f72bcfebf24343b"></a><!-- doxytag: member="CDBReader::valueForKey" ref="a65d872621906917c9f72bcfebf24343b" 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>
+<p>First value is returned if there are many values for one key. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a0ad9d8670836cc8ce12a2f364495aa5c"></a><!-- doxytag: member="CDBReader::valuesForKey" ref="a0ad9d8670836cc8ce12a2f364495aa5c" 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><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a2724a80b3ddfb3a30e6af954d162403f"></a><!-- doxytag: member="CDBReader::cdb" ref="a2724a80b3ddfb3a30e6af954d162403f" 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#a2724a80b3ddfb3a30e6af954d162403f">CDBReader::cdb</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Cdb library object used for reading. </p>
+
+</div>
+</div>
+<a class="anchor" id="a95f1693de1549bf12e299a18f678178c"></a><!-- doxytag: member="CDBReader::fd" ref="a95f1693de1549bf12e299a18f678178c" 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#a95f1693de1549bf12e299a18f678178c">CDBReader::fd</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>A file descriptor to the database. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae38694ac8ddcf3f290616e28c163bfd5"></a><!-- doxytag: member="CDBReader::path" ref="ae38694ac8ddcf3f290616e28c163bfd5" 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#ae38694ac8ddcf3f290616e28c163bfd5">CDBReader::path</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Path pointing to the database. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="cdbreader_8cpp.html">cdbreader.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9187386a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_writer-members.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_c_d_b_writer.html#a7badfc7cd1c94ef07a3c630c0f0bd0fb">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#a142d82fc35b3ad495588ad2299cb5f2b">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#ae40a943a3cf86d6ca9b5350357d83a74">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#ae9ca0bb62aa913a150b988b3bf6c9bad">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#a8de500cd2916cca7709862624fd52728">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#adb50416b86fe2dcb95ec16e9a5bdc6ea">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#a2ff2ca31100e94d445741e80dcddfee0">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#a3c54b531d448d33660b7d089118dfd4c">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#aaa1e44ad6f40ffb7de3a2ad2d361cd62">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#acb6cbc68cd6370bbdbeb0f08163dbca5">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#aee735f7f3c2540e8dfe180bc2775dfb5">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#ae8f20236cbe613623d71af092d0aeaf6">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3fa75f5f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_c_d_b_writer.html
@@ -0,0 +1,409 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A wrapper class to write data (create) tiny-cdb databases.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#ae40a943a3cf86d6ca9b5350357d83a74">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="#ae40a943a3cf86d6ca9b5350357d83a74"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#ae9ca0bb62aa913a150b988b3bf6c9bad">CDBWriter</a> (int <a class="el" href="class_c_d_b_writer.html#adb50416b86fe2dcb95ec16e9a5bdc6ea">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="#ae9ca0bb62aa913a150b988b3bf6c9bad"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#ae8f20236cbe613623d71af092d0aeaf6">~CDBWriter</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the object closing the file beforehand. <a href="#ae8f20236cbe613623d71af092d0aeaf6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#a7badfc7cd1c94ef07a3c630c0f0bd0fb">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="#a7badfc7cd1c94ef07a3c630c0f0bd0fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#a3c54b531d448d33660b7d089118dfd4c">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="#a3c54b531d448d33660b7d089118dfd4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#aee735f7f3c2540e8dfe180bc2775dfb5">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="#aee735f7f3c2540e8dfe180bc2775dfb5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#a8de500cd2916cca7709862624fd52728">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="#a8de500cd2916cca7709862624fd52728"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#aaa1e44ad6f40ffb7de3a2ad2d361cd62">isWritable</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <em>true</em> if the writer is writable. <a href="#aaa1e44ad6f40ffb7de3a2ad2d361cd62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#a2ff2ca31100e94d445741e80dcddfee0">fileDescriptor</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file descriptor used by the writer. <a href="#a2ff2ca31100e94d445741e80dcddfee0"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#acb6cbc68cd6370bbdbeb0f08163dbca5">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="#acb6cbc68cd6370bbdbeb0f08163dbca5"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#a142d82fc35b3ad495588ad2299cb5f2b">cdbm</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cdb library structure used to read data. <a href="#a142d82fc35b3ad495588ad2299cb5f2b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_d_b_writer.html#adb50416b86fe2dcb95ec16e9a5bdc6ea">fd</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A file descriptor pointing to the database. <a href="#adb50416b86fe2dcb95ec16e9a5bdc6ea"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A wrapper class to write data (create) tiny-cdb databases. </p>
+<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>
+<p>The writer automatically cloes the filesystem resource on destruction but can be also closed manually. Writing to a closed writer has no effect. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae40a943a3cf86d6ca9b5350357d83a74"></a><!-- doxytag: member="CDBWriter::CDBWriter" ref="ae40a943a3cf86d6ca9b5350357d83a74" 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><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae9ca0bb62aa913a150b988b3bf6c9bad"></a><!-- doxytag: member="CDBWriter::CDBWriter" ref="ae9ca0bb62aa913a150b988b3bf6c9bad" 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>
+<p>You should not manipulate the <em>fd</em> after calling this function. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae8f20236cbe613623d71af092d0aeaf6"></a><!-- doxytag: member="CDBWriter::~CDBWriter" ref="ae8f20236cbe613623d71af092d0aeaf6" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7badfc7cd1c94ef07a3c630c0f0bd0fb"></a><!-- doxytag: member="CDBWriter::add" ref="a7badfc7cd1c94ef07a3c630c0f0bd0fb" 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>
+<p>If a value for this key already exists, another one is added. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8de500cd2916cca7709862624fd52728"></a><!-- doxytag: member="CDBWriter::close" ref="a8de500cd2916cca7709862624fd52728" 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>
+<a class="anchor" id="a2ff2ca31100e94d445741e80dcddfee0"></a><!-- doxytag: member="CDBWriter::fileDescriptor" ref="a2ff2ca31100e94d445741e80dcddfee0" 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>
+<p>Returns 0 when the writer is closed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3c54b531d448d33660b7d089118dfd4c"></a><!-- doxytag: member="CDBWriter::insert" ref="a3c54b531d448d33660b7d089118dfd4c" 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>
+<p>If a value for this key already exists, nothing is done. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aaa1e44ad6f40ffb7de3a2ad2d361cd62"></a><!-- doxytag: member="CDBWriter::isWritable" ref="aaa1e44ad6f40ffb7de3a2ad2d361cd62" 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>
+<p>The writer is not writable after it has been closed or the target path is not accessible. </p>
+
+</div>
+</div>
+<a class="anchor" id="acb6cbc68cd6370bbdbeb0f08163dbca5"></a><!-- doxytag: member="CDBWriter::put" ref="acb6cbc68cd6370bbdbeb0f08163dbca5" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="aee735f7f3c2540e8dfe180bc2775dfb5"></a><!-- doxytag: member="CDBWriter::replace" ref="aee735f7f3c2540e8dfe180bc2775dfb5" 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>
+<p>If a value for this key already exists, the old value is replaced with the new one. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a142d82fc35b3ad495588ad2299cb5f2b"></a><!-- doxytag: member="CDBWriter::cdbm" ref="a142d82fc35b3ad495588ad2299cb5f2b" 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#a142d82fc35b3ad495588ad2299cb5f2b">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>
+<a class="anchor" id="adb50416b86fe2dcb95ec16e9a5bdc6ea"></a><!-- doxytag: member="CDBWriter::fd" ref="adb50416b86fe2dcb95ec16e9a5bdc6ea" 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#adb50416b86fe2dcb95ec16e9a5bdc6ea">CDBWriter::fd</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>A file descriptor pointing to the database. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="cdbwriter_8cpp.html">cdbwriter.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a143de8c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_feature-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">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#a6938d336fbf692bd91d84687a342184b">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#a7c0d22d25f95a49373b195d8c55d1dc7">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6a748646
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_feature.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>This class represents a "feature" in the logging framework/system.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">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="#af1dc3766a0b0e21ba0a2f22a3102d09b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#a7c0d22d25f95a49373b195d8c55d1dc7">getName</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the feature. <a href="#a7c0d22d25f95a49373b195d8c55d1dc7"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_feature.html#a6938d336fbf692bd91d84687a342184b">featureName</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This class represents a "feature" in the logging framework/system. </p>
+<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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b" title="Constructor for a new feature.name is the feature name.">ContextFeature</a>(<span class="stringliteral">&quot;introspection&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Message&quot;</span>;
+ ...
+</pre></div><p>One message can belong to many features or to none. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af1dc3766a0b0e21ba0a2f22a3102d09b"></a><!-- doxytag: member="ContextFeature::ContextFeature" ref="af1dc3766a0b0e21ba0a2f22a3102d09b" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7c0d22d25f95a49373b195d8c55d1dc7"></a><!-- doxytag: member="ContextFeature::getName" ref="a7c0d22d25f95a49373b195d8c55d1dc7" 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>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a6938d336fbf692bd91d84687a342184b"></a><!-- doxytag: member="ContextFeature::featureName" ref="a6938d336fbf692bd91d84687a342184b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_feature.html#a6938d336fbf692bd91d84687a342184b">ContextFeature::featureName</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="logging_8cpp.html">logging.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_list_info-members.html b/libcontextsubscriber/doc/html/class_context_list_info-members.html
new file mode 100644
index 00000000..83efd318
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_list_info-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextListInfo Member List</h1>This is the complete list of members for <a class="el" href="class_context_list_info.html">ContextListInfo</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>()</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">AssocTree</a>(const QVariant &amp;root)</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">base</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_list_info.html#a0d0accd5824d707768c23064ad7ce66c">ContextListInfo</a>(const ContextTypeInfo &amp;info)</td><td><a class="el" href="class_context_list_info.html">ContextListInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ab426acb27dff6915268f08f639f4c639">ContextTypeInfo</a>(const AssocTree &amp;tree)</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">ContextTypeInfo</a>(const QVariant &amp;tree)</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a>()</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef">definition</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">doc</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">dump</a>(int level=0) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0">ensureNewTypes</a>()</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">name</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593">node</a>(const QString &amp;name) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a56c5c190fd1bc330815d530eba81190a">node</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a511793ffc1dd3838837104892314c109">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab4b6e11b9aefa354e392b2971869dfa4">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a1ff303816cce9076cf453866ed4fff24">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">nodes</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">parameterDoc</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">parameterNode</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">parameters</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">parameterValue</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_list_info.html#a08286f38aff16c4bbac3cff24a990e37">type</a>()</td><td><a class="el" href="class_context_list_info.html">ContextListInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">value</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ae396650bfb964d4aa4535af0b63ac488">value</a>(const QString &amp;name1) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a556e85ecc5ebaa14e7e141703ba4d7a5">value</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a34737a631a9fe5595424d84a7ce706e6">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a87c206613662c98e1978df031aed2625">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a564cde83c39440dfdae5f9915c615b22">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_list_info.html b/libcontextsubscriber/doc/html/class_context_list_info.html
new file mode 100644
index 00000000..bd9a2e05
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_list_info.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: ContextListInfo 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextListInfo Class Reference</h1><!-- doxytag: class="ContextListInfo" --><!-- doxytag: inherits="ContextTypeInfo" -->
+<p><code>#include &lt;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a>&gt;</code></p>
+
+<p><a href="class_context_list_info-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_list_info.html#a0d0accd5824d707768c23064ad7ce66c">ContextListInfo</a> (const <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> &amp;info)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_list_info.html#a08286f38aff16c4bbac3cff24a990e37">type</a> ()</td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a0d0accd5824d707768c23064ad7ce66c"></a><!-- doxytag: member="ContextListInfo::ContextListInfo" ref="a0d0accd5824d707768c23064ad7ce66c" args="(const ContextTypeInfo &amp;info)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextListInfo::ContextListInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>info</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a08286f38aff16c4bbac3cff24a990e37"></a><!-- doxytag: member="ContextListInfo::type" ref="a08286f38aff16c4bbac3cff24a990e37" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> ContextListInfo::type </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..8e3006da
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property-members.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#a79283034949fe9cf79106b7ea221439a">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#a8654f1a0b2e6e3e58d6fc2830a5fbb8b">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#af5d07cd67b0c7a94d0912900e2729cbb">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#afc2a01b6895b75e73a049e9143a16a22">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#a0e60707841d0012a23c3368793421937">onValueChanged</a>()</td><td><a class="el" href="class_context_property.html">ContextProperty</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_property.html#ade52af7df11f1b01893f99aef56ecd10">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#a47a70ecc83ea7b819728a3430d860100">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#a5e6f52ce5ba6e7d07240ce84c2cc7326">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#afa0ef21efe3c1c5d2b5936cda8feb350">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#a9853332036f43724b65162acc432753a">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#a4c295fefdf793557472959f9e2f3e18c">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#adee3726fee9fbbcb92c7fb3ba2e04c49">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#a8377eacd97cfccf349b7167f33414888">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#addc93c0539a8ffd2c2c9439e5ccd8628">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f8c0d5ad
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property.html
@@ -0,0 +1,376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#adee3726fee9fbbcb92c7fb3ba2e04c49">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="#adee3726fee9fbbcb92c7fb3ba2e04c49"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a79283034949fe9cf79106b7ea221439a">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="#a79283034949fe9cf79106b7ea221439a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#addc93c0539a8ffd2c2c9439e5ccd8628">~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="#addc93c0539a8ffd2c2c9439e5ccd8628"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#afc2a01b6895b75e73a049e9143a16a22">key</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the key. <a href="#afc2a01b6895b75e73a049e9143a16a22"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a9853332036f43724b65162acc432753a">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="#a9853332036f43724b65162acc432753a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a4c295fefdf793557472959f9e2f3e18c">value</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current value. <a href="#a4c295fefdf793557472959f9e2f3e18c"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#af5d07cd67b0c7a94d0912900e2729cbb">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="#af5d07cd67b0c7a94d0912900e2729cbb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a5e6f52ce5ba6e7d07240ce84c2cc7326">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="#a5e6f52ce5ba6e7d07240ce84c2cc7326"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#afa0ef21efe3c1c5d2b5936cda8feb350">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="#afa0ef21efe3c1c5d2b5936cda8feb350"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a8377eacd97cfccf349b7167f33414888">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="#a8377eacd97cfccf349b7167f33414888"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a8654f1a0b2e6e3e58d6fc2830a5fbb8b">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="#a8654f1a0b2e6e3e58d6fc2830a5fbb8b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a47a70ecc83ea7b819728a3430d860100">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="#a47a70ecc83ea7b819728a3430d860100"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property.html#a0e60707841d0012a23c3368793421937">onValueChanged</a> ()</td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#ade52af7df11f1b01893f99aef56ecd10">priv</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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>
+<p>The value is available with the <a class="el" href="class_context_property.html#a9853332036f43724b65162acc432753a" 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#adee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal.</p>
+<p>You can explicity subscribe and unsubscribe using the <a class="el" href="class_context_property.html#a5e6f52ce5ba6e7d07240ce84c2cc7326" 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#afa0ef21efe3c1c5d2b5936cda8feb350" 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>
+<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#adee3726fee9fbbcb92c7fb3ba2e04c49" 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>
+<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>
+<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>
+<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>
+<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#a9853332036f43724b65162acc432753a" 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#adee3726fee9fbbcb92c7fb3ba2e04c49" 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>
+<p>Instead, you can use the <a class="el" href="class_context_property.html#a8377eacd97cfccf349b7167f33414888" 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>
+<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#adee3726fee9fbbcb92c7fb3ba2e04c49" 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#a8377eacd97cfccf349b7167f33414888" 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>
+<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#a8377eacd97cfccf349b7167f33414888" 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#a8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a> would prevent this optimization.</p>
+<dl class="note"><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.</dd>
+<dd>
+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.</dd>
+<dd>
+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" id="a79283034949fe9cf79106b7ea221439a"></a><!-- doxytag: member="ContextProperty::ContextProperty" ref="a79283034949fe9cf79106b7ea221439a" 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>
+<a class="anchor" id="addc93c0539a8ffd2c2c9439e5ccd8628"></a><!-- doxytag: member="ContextProperty::~ContextProperty" ref="addc93c0539a8ffd2c2c9439e5ccd8628" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a8654f1a0b2e6e3e58d6fc2830a5fbb8b"></a><!-- doxytag: member="ContextProperty::ignoreCommander" ref="a8654f1a0b2e6e3e58d6fc2830a5fbb8b" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="af5d07cd67b0c7a94d0912900e2729cbb"></a><!-- doxytag: member="ContextProperty::info" ref="af5d07cd67b0c7a94d0912900e2729cbb" 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>
+<a class="anchor" id="afc2a01b6895b75e73a049e9143a16a22"></a><!-- doxytag: member="ContextProperty::key" ref="afc2a01b6895b75e73a049e9143a16a22" 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>
+<a class="anchor" id="a0e60707841d0012a23c3368793421937"></a><!-- doxytag: member="ContextProperty::onValueChanged" ref="a0e60707841d0012a23c3368793421937" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextProperty::onValueChanged </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a47a70ecc83ea7b819728a3430d860100"></a><!-- doxytag: member="ContextProperty::setTypeCheck" ref="a47a70ecc83ea7b819728a3430d860100" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a5e6f52ce5ba6e7d07240ce84c2cc7326"></a><!-- doxytag: member="ContextProperty::subscribe" ref="a5e6f52ce5ba6e7d07240ce84c2cc7326" 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>
+<p>If you need to wait for it to be complete, use <a class="el" href="class_context_property.html#a8377eacd97cfccf349b7167f33414888" title="Suspends the execution of the current thread until subcription is complete for this...">waitForSubscription()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="afa0ef21efe3c1c5d2b5936cda8feb350"></a><!-- doxytag: member="ContextProperty::unsubscribe" ref="afa0ef21efe3c1c5d2b5936cda8feb350" 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>
+<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#adee3726fee9fbbcb92c7fb3ba2e04c49" title="Emitted whenever the value of the property changes and the property is subscribed...">valueChanged()</a> signal won't be emitted. </p>
+
+</div>
+</div>
+<a class="anchor" id="a4c295fefdf793557472959f9e2f3e18c"></a><!-- doxytag: member="ContextProperty::value" ref="a4c295fefdf793557472959f9e2f3e18c" 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>
+<a class="anchor" id="a9853332036f43724b65162acc432753a"></a><!-- doxytag: member="ContextProperty::value" ref="a9853332036f43724b65162acc432753a" 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>
+<a class="anchor" id="adee3726fee9fbbcb92c7fb3ba2e04c49"></a><!-- doxytag: member="ContextProperty::valueChanged" ref="adee3726fee9fbbcb92c7fb3ba2e04c49" 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>
+<a class="anchor" id="a8377eacd97cfccf349b7167f33414888"></a><!-- doxytag: member="ContextProperty::waitForSubscription" ref="a8377eacd97cfccf349b7167f33414888" 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>
+<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#adee3726fee9fbbcb92c7fb3ba2e04c49" 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. </p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ade52af7df11f1b01893f99aef56ecd10"></a><!-- doxytag: member="ContextProperty::priv" ref="ade52af7df11f1b01893f99aef56ecd10" 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#ade52af7df11f1b01893f99aef56ecd10">ContextProperty::priv</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="contextproperty_8cpp.html">contextproperty.cpp</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2ba90fd4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property_info-members.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26">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#ad0b09926f8b67dd4bb2d9f2bc2a2c601">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#a9892898881029c982aa6003bd16c70d4">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#a8ad27d097f69e6d9f1ebde443bcf49b0">cachedTypeInfo</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#a8f23781855ffcfbcbd979d9e410c493e">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#a9d85cc8d48f34bb01e168dac265b65a1">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#a2453fc77a1afba74a661d8c15836e69d">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#ac638ba6bd9336c58174fa8bb20fa7d4e">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#a36db2252d9263d4f45aafaf57392d467">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#add1b6db4bfb5c36cd6ae9b9352112c4c">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#ab6564dd36e6061c758e4af95c313ef9b">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#a054dbdee21942623bf6e9679903e4384">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#ad8b0cd1c2e29b63a0a672fd407ce4150">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#ac5540a24a4610bb641f8e64a48d4f356">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#a9d4c44c032c884821a3cc643f759cbb2">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#a81b41c6e79e7914c78de43a0dc642eb9">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#ac3d71c5189748d3eee041c82864f995f">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#a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6">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#a4dedbecfb6d9c0c0b2be0329c20e405a">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#ab67e0d20a267bae467bd449358273fbc">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#a38e61db02d8f588924d59b60a74a468a">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#a9523b5b197a619e783b8ba3780a391aa">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#a9d270042f069bafc0f994b3b19804d8a">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#a37c67d07a2f0c361378ac79e6589a968">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#a19bb4eb5067f8bd9504db7733b02be26">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#af2e6ee62ab7203f3750dc9851bf67868">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#af09ce2c166d9fa87ec4c3cba6b0cabee">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#aee09f09db9cc631bc3d175cae7f0f671">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#ad4dc52a73150d57b19b2b37a07ff1342">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#a5c03f07e13e9decec21d9bcc415bd35c">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#a9260be377cc7d8124140701a7d72e62f">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#a28c493f959d7a48c85dc86281c78479c">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#a4afd9d028d9d13f6e3fb9b7be1cb84d3">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#a7f8e0cc9c8439e6ec109a16a80a2d3fc">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#affead559621ed710667dddafd240db58">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#abaa8292d4ff8b4b73c376e9ff0a9e215">typeInfo</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#a1c06eaa93db43664c42435c4a0394d8d">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d0bbf398
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property_info.html
@@ -0,0 +1,863 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A class to introspect a context property details.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> { <a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6">LastValue</a>
+ }</td></tr>
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a19bb4eb5067f8bd9504db7733b02be26">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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#a19bb4eb5067f8bd9504db7733b02be26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a5c03f07e13e9decec21d9bcc415bd35c">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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#a5c03f07e13e9decec21d9bcc415bd35c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#affead559621ed710667dddafd240db58">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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#affead559621ed710667dddafd240db58"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a9d4c44c032c884821a3cc643f759cbb2">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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#a9d4c44c032c884821a3cc643f759cbb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a37c67d07a2f0c361378ac79e6589a968">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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#a37c67d07a2f0c361378ac79e6589a968"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a9523b5b197a619e783b8ba3780a391aa">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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. <a href="#a9523b5b197a619e783b8ba3780a391aa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a9d85cc8d48f34bb01e168dac265b65a1">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="#a9d85cc8d48f34bb01e168dac265b65a1"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#add1b6db4bfb5c36cd6ae9b9352112c4c">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="#add1b6db4bfb5c36cd6ae9b9352112c4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a1c06eaa93db43664c42435c4a0394d8d">~ContextPropertyInfo</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the object. <a href="#a1c06eaa93db43664c42435c4a0394d8d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a81b41c6e79e7914c78de43a0dc642eb9">key</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full name of the introspected key. <a href="#a81b41c6e79e7914c78de43a0dc642eb9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ad8b0cd1c2e29b63a0a672fd407ce4150">doc</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the doc (documentation) for the introspected key. <a href="#ad8b0cd1c2e29b63a0a672fd407ce4150"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a7f8e0cc9c8439e6ec109a16a80a2d3fc">type</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the old-style type name for the introspected key. To be deprecated soon. <a href="#a7f8e0cc9c8439e6ec109a16a80a2d3fc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#abaa8292d4ff8b4b73c376e9ff0a9e215">typeInfo</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the advanced type info for the introspected key. <a href="#abaa8292d4ff8b4b73c376e9ff0a9e215"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ac5540a24a4610bb641f8e64a48d4f356">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="#ac5540a24a4610bb641f8e64a48d4f356"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a054dbdee21942623bf6e9679903e4384">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="#a054dbdee21942623bf6e9679903e4384"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a9d270042f069bafc0f994b3b19804d8a">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="#a9d270042f069bafc0f994b3b19804d8a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#af2e6ee62ab7203f3750dc9851bf67868">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="#af2e6ee62ab7203f3750dc9851bf67868"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QDBusConnection::BusType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#aee09f09db9cc631bc3d175cae7f0f671">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="#aee09f09db9cc631bc3d175cae7f0f671"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ab67e0d20a267bae467bd449358273fbc">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="#ab67e0d20a267bae467bd449358273fbc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ac638ba6bd9336c58174fa8bb20fa7d4e">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#a9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead. <a href="#ac638ba6bd9336c58174fa8bb20fa7d4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a9260be377cc7d8124140701a7d72e62f">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="#a9260be377cc7d8124140701a7d72e62f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a4afd9d028d9d13f6e3fb9b7be1cb84d3">resolutionStrategy</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns resolution strategy for this property. <a href="#a4afd9d028d9d13f6e3fb9b7be1cb84d3"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a2453fc77a1afba74a661d8c15836e69d">connectNotify</a> (const char *signal)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when people connect to signals. <a href="#a2453fc77a1afba74a661d8c15836e69d"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a4dedbecfb6d9c0c0b2be0329c20e405a">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="#a4dedbecfb6d9c0c0b2be0329c20e405a"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#af09ce2c166d9fa87ec4c3cba6b0cabee">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="#af09ce2c166d9fa87ec4c3cba6b0cabee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QDBusConnection::BusType&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ad4dc52a73150d57b19b2b37a07ff1342">providerDBusType_i</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a38e61db02d8f588924d59b60a74a468a">plugin_i</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a36db2252d9263d4f45aafaf57392d467">constructionString_i</a> () const </td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ac3d71c5189748d3eee041c82864f995f">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="#ac3d71c5189748d3eee041c82864f995f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ad0b09926f8b67dd4bb2d9f2bc2a2c601">cachedDoc</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached documentation of the key. <a href="#ad0b09926f8b67dd4bb2d9f2bc2a2c601"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a8ad27d097f69e6d9f1ebde443bcf49b0">cachedTypeInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached (stored) type info of the key. <a href="#a8ad27d097f69e6d9f1ebde443bcf49b0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26">cachedDeclared</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached state of the key (existance). <a href="#ad304f8389a3d9864af0fe795282a8c26"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a9892898881029c982aa6003bd16c70d4">cachedProviders</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cached list of providers for this key. <a href="#a9892898881029c982aa6003bd16c70d4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#a8f23781855ffcfbcbd979d9e410c493e">cacheLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lock for the cache. <a href="#a8f23781855ffcfbcbd979d9e410c493e"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_property_info.html#ab6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfoUnitTest</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A class to introspect a context property details. </p>
+<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. </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="a28c493f959d7a48c85dc86281c78479c"></a><!-- doxytag: member="ContextPropertyInfo::ResolutionStrategy" ref="a28c493f959d7a48c85dc86281c78479c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo::ResolutionStrategy</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6"></a><!-- doxytag: member="LastValue" ref="a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6" args="" -->LastValue</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="add1b6db4bfb5c36cd6ae9b9352112c4c"></a><!-- doxytag: member="ContextPropertyInfo::ContextPropertyInfo" ref="add1b6db4bfb5c36cd6ae9b9352112c4c" 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>
+<p>The object can be used to perform introspection on the given <em>key</em>. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1c06eaa93db43664c42435c4a0394d8d"></a><!-- doxytag: member="ContextPropertyInfo::~ContextPropertyInfo" ref="a1c06eaa93db43664c42435c4a0394d8d" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a9d85cc8d48f34bb01e168dac265b65a1"></a><!-- doxytag: member="ContextPropertyInfo::changed" ref="a9d85cc8d48f34bb01e168dac265b65a1" 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>
+<p>This is not a strict signal - it might be emitted even when no actual change happened. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2453fc77a1afba74a661d8c15836e69d"></a><!-- doxytag: member="ContextPropertyInfo::connectNotify" ref="a2453fc77a1afba74a661d8c15836e69d" 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>
+<p>Used to emit deprecation warnings when people connect to deprecated signals. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac638ba6bd9336c58174fa8bb20fa7d4e"></a><!-- doxytag: member="ContextPropertyInfo::constructionString" ref="ac638ba6bd9336c58174fa8bb20fa7d4e" 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#a9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="a36db2252d9263d4f45aafaf57392d467"></a><!-- doxytag: member="ContextPropertyInfo::constructionString_i" ref="a36db2252d9263d4f45aafaf57392d467" 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">
+
+</div>
+</div>
+<a class="anchor" id="a054dbdee21942623bf6e9679903e4384"></a><!-- doxytag: member="ContextPropertyInfo::declared" ref="a054dbdee21942623bf6e9679903e4384" 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>
+<a class="anchor" id="ad8b0cd1c2e29b63a0a672fd407ce4150"></a><!-- doxytag: member="ContextPropertyInfo::doc" ref="ad8b0cd1c2e29b63a0a672fd407ce4150" 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>
+<a class="anchor" id="ac5540a24a4610bb641f8e64a48d4f356"></a><!-- doxytag: member="ContextPropertyInfo::exists" ref="ac5540a24a4610bb641f8e64a48d4f356" 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>
+<p>This function is deprecated, use <a class="el" href="class_context_property_info.html#a054dbdee21942623bf6e9679903e4384" title="Returns true if the key is declared in the registry (it &quot;exists&quot;).">declared()</a> instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9d4c44c032c884821a3cc643f759cbb2"></a><!-- doxytag: member="ContextPropertyInfo::existsChanged" ref="a9d4c44c032c884821a3cc643f759cbb2" 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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. </p>
+<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. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a81b41c6e79e7914c78de43a0dc642eb9"></a><!-- doxytag: member="ContextPropertyInfo::key" ref="a81b41c6e79e7914c78de43a0dc642eb9" 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>
+<a class="anchor" id="a4dedbecfb6d9c0c0b2be0329c20e405a"></a><!-- doxytag: member="ContextPropertyInfo::onKeyChanged" ref="a4dedbecfb6d9c0c0b2be0329c20e405a" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab67e0d20a267bae467bd449358273fbc"></a><!-- doxytag: member="ContextPropertyInfo::plugin" ref="ab67e0d20a267bae467bd449358273fbc" 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>
+<p>This function is deprecated, use <a class="el" href="class_context_property_info.html#a9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="a38e61db02d8f588924d59b60a74a468a"></a><!-- doxytag: member="ContextPropertyInfo::plugin_i" ref="a38e61db02d8f588924d59b60a74a468a" 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">
+
+</div>
+</div>
+<a class="anchor" id="a9523b5b197a619e783b8ba3780a391aa"></a><!-- doxytag: member="ContextPropertyInfo::pluginChanged" ref="a9523b5b197a619e783b8ba3780a391aa" 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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. </p>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9d270042f069bafc0f994b3b19804d8a"></a><!-- doxytag: member="ContextPropertyInfo::provided" ref="a9d270042f069bafc0f994b3b19804d8a" 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>
+<a class="anchor" id="a37c67d07a2f0c361378ac79e6589a968"></a><!-- doxytag: member="ContextPropertyInfo::providedChanged" ref="a37c67d07a2f0c361378ac79e6589a968" 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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. </p>
+<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. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a19bb4eb5067f8bd9504db7733b02be26"></a><!-- doxytag: member="ContextPropertyInfo::providerChanged" ref="a19bb4eb5067f8bd9504db7733b02be26" 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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. </p>
+<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. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="af2e6ee62ab7203f3750dc9851bf67868"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusName" ref="af2e6ee62ab7203f3750dc9851bf67868" 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>
+<p>This function is maintained for backwards compatibility. Use listProviders() instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="af09ce2c166d9fa87ec4c3cba6b0cabee"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusName_i" ref="af09ce2c166d9fa87ec4c3cba6b0cabee" 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>
+<p>This function is maintained for backwards compatibility. Use <a class="el" href="class_context_property_info.html#a9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers()</a> instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="aee09f09db9cc631bc3d175cae7f0f671"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusType" ref="aee09f09db9cc631bc3d175cae7f0f671" 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>
+<p>Ie. if it's a session bus or a system bus. This function is maintained for backwards compatibility. Use listProviders() instead. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad4dc52a73150d57b19b2b37a07ff1342"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusType_i" ref="ad4dc52a73150d57b19b2b37a07ff1342" 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">
+
+</div>
+</div>
+<a class="anchor" id="a5c03f07e13e9decec21d9bcc415bd35c"></a><!-- doxytag: member="ContextPropertyInfo::providerDBusTypeChanged" ref="a5c03f07e13e9decec21d9bcc415bd35c" 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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. </p>
+<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. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a9260be377cc7d8124140701a7d72e62f"></a><!-- doxytag: member="ContextPropertyInfo::providers" ref="a9260be377cc7d8124140701a7d72e62f" 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>
+<a class="anchor" id="a4afd9d028d9d13f6e3fb9b7be1cb84d3"></a><!-- doxytag: member="ContextPropertyInfo::resolutionStrategy" ref="a4afd9d028d9d13f6e3fb9b7be1cb84d3" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">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>
+<p>Resolution strategy defines how values are computed in relation to multiple providers being present for one property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7f8e0cc9c8439e6ec109a16a80a2d3fc"></a><!-- doxytag: member="ContextPropertyInfo::type" ref="a7f8e0cc9c8439e6ec109a16a80a2d3fc" 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 old-style type name for the introspected key. To be deprecated soon. </p>
+
+</div>
+</div>
+<a class="anchor" id="affead559621ed710667dddafd240db58"></a><!-- doxytag: member="ContextPropertyInfo::typeChanged" ref="affead559621ed710667dddafd240db58" 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#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed()</a> signal. </p>
+<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. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="abaa8292d4ff8b4b73c376e9ff0a9e215"></a><!-- doxytag: member="ContextPropertyInfo::typeInfo" ref="abaa8292d4ff8b4b73c376e9ff0a9e215" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> ContextPropertyInfo::typeInfo </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the advanced type info for the introspected key. </p>
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ab6564dd36e6061c758e4af95c313ef9b"></a><!-- doxytag: member="ContextPropertyInfo::ContextPropertyInfoUnitTest" ref="ab6564dd36e6061c758e4af95c313ef9b" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ad304f8389a3d9864af0fe795282a8c26"></a><!-- doxytag: member="ContextPropertyInfo::cachedDeclared" ref="ad304f8389a3d9864af0fe795282a8c26" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26">ContextPropertyInfo::cachedDeclared</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Cached state of the key (existance). </p>
+
+</div>
+</div>
+<a class="anchor" id="ad0b09926f8b67dd4bb2d9f2bc2a2c601"></a><!-- doxytag: member="ContextPropertyInfo::cachedDoc" ref="ad0b09926f8b67dd4bb2d9f2bc2a2c601" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_property_info.html#ad0b09926f8b67dd4bb2d9f2bc2a2c601">ContextPropertyInfo::cachedDoc</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Cached documentation of the key. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9892898881029c982aa6003bd16c70d4"></a><!-- doxytag: member="ContextPropertyInfo::cachedProviders" ref="a9892898881029c982aa6003bd16c70d4" 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#a9892898881029c982aa6003bd16c70d4">ContextPropertyInfo::cachedProviders</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Cached list of providers for this key. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8ad27d097f69e6d9f1ebde443bcf49b0"></a><!-- doxytag: member="ContextPropertyInfo::cachedTypeInfo" ref="a8ad27d097f69e6d9f1ebde443bcf49b0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> <a class="el" href="class_context_property_info.html#a8ad27d097f69e6d9f1ebde443bcf49b0">ContextPropertyInfo::cachedTypeInfo</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Cached (stored) type info of the key. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8f23781855ffcfbcbd979d9e410c493e"></a><!-- doxytag: member="ContextPropertyInfo::cacheLock" ref="a8f23781855ffcfbcbd979d9e410c493e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QMutex <a class="el" href="class_context_property_info.html#a8f23781855ffcfbcbd979d9e410c493e">ContextPropertyInfo::cacheLock</a><code> [mutable, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Lock for the cache. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac3d71c5189748d3eee041c82864f995f"></a><!-- doxytag: member="ContextPropertyInfo::keyName" ref="ac3d71c5189748d3eee041c82864f995f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_property_info.html#ac3d71c5189748d3eee041c82864f995f">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>
+<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>
+<li><a class="el" href="contextpropertyinfo_8cpp.html">contextpropertyinfo.cpp</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5f344932
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_property_private-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="struct_context_property_private.html#ac2610b423813eb22e45a7136ed932713">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#a8fa3197617a450a91c4c4bbca5cdbecd">subscribed</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#a791be72a33207ec899155fb4f2689e13">value</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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3cc4f983
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_real_logger-members.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_real_logger.html#a1f6e0152e1e606b00e45f720d4eeba99">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#aee3a7c4dac60f4ec39165edf96466637">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#a1ade8a975d63f4e178eba2e2d4a26f1e">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#a9aaf9fde5617bf1f71630f2d3c74fb6f">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#a1ad94fcbdca55015db01b33566642d61">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#a29217f7733d4f5a8d73fa20dea9c2b8f">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#a73b4d5021ffae90cbe7e9f914e307c45">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#ae753079d62a886dd09c0576ad524c8f4">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#aca946deec46d8e37f40b20a978d92ee8">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#a25735132cf3de872624cd42f0c667707">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#a2ee1b0baea9a178ad3b84b13342b0127">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#a4a3d4d64fb340a1f4adb698106ee6d4b">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#a83a9a63cef3753053154b86da8da52bb">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#adb17a18fe2b4e07d23484b3e62661d4b">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#a7ffcc463d565ee93eadef3d95b388ac0">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#a149b4fa211448303b24806071a010e07">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#ad3e0dc8c801098e35a385d712369b486">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#a261f1adeed09c748431d960c009280e2">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#adbf345abfa4979dad50fa64587d8b12b">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#acf5deaf1c001736730952794379c9fb2">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#a681ec8a8c8151a6e76de1b1b3aebe902">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#a11114df34f0dc06d4261a98db0c1a413">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#ad45b7a29bfd04c8678e2336964621b16">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ce69ecf7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_real_logger.html
@@ -0,0 +1,505 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A real logging class.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a> (int <a class="el" href="class_context_real_logger.html#a2ee1b0baea9a178ad3b84b13342b0127">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="#aee3a7c4dac60f4ec39165edf96466637"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ad45b7a29bfd04c8678e2336964621b16">~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="#ad45b7a29bfd04c8678e2336964621b16"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a4a3d4d64fb340a1f4adb698106ee6d4b">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="#a4a3d4d64fb340a1f4adb698106ee6d4b"></a><br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" 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#a83a9a63cef3753053154b86da8da52bb">operator&lt;&lt;</a> (const T &amp;qSomething)</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ae753079d62a886dd09c0576ad524c8f4">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="#ae753079d62a886dd09c0576ad524c8f4"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">showTest</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test messages enabled at runtime. <a href="#adbf345abfa4979dad50fa64587d8b12b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">showDebug</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Debug messages enabled at runtime. <a href="#a149b4fa211448303b24806071a010e07"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">showWarning</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Warning messages enabled at runtime. <a href="#acf5deaf1c001736730952794379c9fb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">showCritical</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Critical messages enabled at runtime. <a href="#a7ffcc463d565ee93eadef3d95b388ac0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">initialized</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class initialized/env vars parsed. <a href="#aca946deec46d8e37f40b20a978d92ee8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">hideTimestamps</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Don't print timestamps. <a href="#a73b4d5021ffae90cbe7e9f914e307c45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">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="#a681ec8a8c8151a6e76de1b1b3aebe902"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">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="#a261f1adeed09c748431d960c009280e2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">hideModule</a> = NULL</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages from the specified module. <a href="#a29217f7733d4f5a8d73fa20dea9c2b8f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">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="#ad3e0dc8c801098e35a385d712369b486"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">hideFeatures</a> = QStringList()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hide messages with the specified features. <a href="#a1ad94fcbdca55015db01b33566642d61"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">vanilla</a> = false</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use vanilla (stripped-down) logging. <a href="#a11114df34f0dc06d4261a98db0c1a413"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#adb17a18fe2b4e07d23484b3e62661d4b">shouldPrint</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a1f6e0152e1e606b00e45f720d4eeba99">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="#a1f6e0152e1e606b00e45f720d4eeba99"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a2ee1b0baea9a178ad3b84b13342b0127">msgType</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of message we're representing. <a href="#a2ee1b0baea9a178ad3b84b13342b0127"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a25735132cf3de872624cd42f0c667707">moduleName</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The module name. <a href="#a25735132cf3de872624cd42f0c667707"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a1ade8a975d63f4e178eba2e2d4a26f1e">data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the stream data. <a href="#a1ade8a975d63f4e178eba2e2d4a26f1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_real_logger.html#a9aaf9fde5617bf1f71630f2d3c74fb6f">features</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A real logging class. </p>
+<p>This is used by the actual macros to print messages. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aee3a7c4dac60f4ec39165edf96466637"></a><!-- doxytag: member="ContextRealLogger::ContextRealLogger" ref="aee3a7c4dac60f4ec39165edf96466637" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad45b7a29bfd04c8678e2336964621b16"></a><!-- doxytag: member="ContextRealLogger::~ContextRealLogger" ref="ad45b7a29bfd04c8678e2336964621b16" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1f6e0152e1e606b00e45f720d4eeba99"></a><!-- doxytag: member="ContextRealLogger::appendFeatures" ref="a1f6e0152e1e606b00e45f720d4eeba99" 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>
+<a class="anchor" id="ae753079d62a886dd09c0576ad524c8f4"></a><!-- doxytag: member="ContextRealLogger::initialize" ref="ae753079d62a886dd09c0576ad524c8f4" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a83a9a63cef3753053154b86da8da52bb"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="a83a9a63cef3753053154b86da8da52bb" 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">
+
+</div>
+</div>
+<a class="anchor" id="a4a3d4d64fb340a1f4adb698106ee6d4b"></a><!-- doxytag: member="ContextRealLogger::operator&lt;&lt;" ref="a4a3d4d64fb340a1f4adb698106ee6d4b" 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>
+<a class="anchor" id="adb17a18fe2b4e07d23484b3e62661d4b"></a><!-- doxytag: member="ContextRealLogger::shouldPrint" ref="adb17a18fe2b4e07d23484b3e62661d4b" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a1ade8a975d63f4e178eba2e2d4a26f1e"></a><!-- doxytag: member="ContextRealLogger::data" ref="a1ade8a975d63f4e178eba2e2d4a26f1e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_real_logger.html#a1ade8a975d63f4e178eba2e2d4a26f1e">ContextRealLogger::data</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Holds the stream data. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9aaf9fde5617bf1f71630f2d3c74fb6f"></a><!-- doxytag: member="ContextRealLogger::features" ref="a9aaf9fde5617bf1f71630f2d3c74fb6f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#a9aaf9fde5617bf1f71630f2d3c74fb6f">ContextRealLogger::features</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1ad94fcbdca55015db01b33566642d61"></a><!-- doxytag: member="ContextRealLogger::hideFeatures" ref="a1ad94fcbdca55015db01b33566642d61" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">ContextRealLogger::hideFeatures</a> = QStringList()<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Hide messages with the specified features. </p>
+
+</div>
+</div>
+<a class="anchor" id="a29217f7733d4f5a8d73fa20dea9c2b8f"></a><!-- doxytag: member="ContextRealLogger::hideModule" ref="a29217f7733d4f5a8d73fa20dea9c2b8f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger::hideModule</a> = NULL<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Hide messages from the specified module. </p>
+
+</div>
+</div>
+<a class="anchor" id="a73b4d5021ffae90cbe7e9f914e307c45"></a><!-- doxytag: member="ContextRealLogger::hideTimestamps" ref="a73b4d5021ffae90cbe7e9f914e307c45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger::hideTimestamps</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Don't print timestamps. </p>
+
+</div>
+</div>
+<a class="anchor" id="aca946deec46d8e37f40b20a978d92ee8"></a><!-- doxytag: member="ContextRealLogger::initialized" ref="aca946deec46d8e37f40b20a978d92ee8" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">ContextRealLogger::initialized</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Class initialized/env vars parsed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a25735132cf3de872624cd42f0c667707"></a><!-- doxytag: member="ContextRealLogger::moduleName" ref="a25735132cf3de872624cd42f0c667707" 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#a25735132cf3de872624cd42f0c667707">ContextRealLogger::moduleName</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The module name. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2ee1b0baea9a178ad3b84b13342b0127"></a><!-- doxytag: member="ContextRealLogger::msgType" ref="a2ee1b0baea9a178ad3b84b13342b0127" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_context_real_logger.html#a2ee1b0baea9a178ad3b84b13342b0127">ContextRealLogger::msgType</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Type of message we're representing. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7ffcc463d565ee93eadef3d95b388ac0"></a><!-- doxytag: member="ContextRealLogger::showCritical" ref="a7ffcc463d565ee93eadef3d95b388ac0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger::showCritical</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Critical messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="a149b4fa211448303b24806071a010e07"></a><!-- doxytag: member="ContextRealLogger::showDebug" ref="a149b4fa211448303b24806071a010e07" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">ContextRealLogger::showDebug</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Debug messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad3e0dc8c801098e35a385d712369b486"></a><!-- doxytag: member="ContextRealLogger::showFeatures" ref="ad3e0dc8c801098e35a385d712369b486" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList <a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">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>
+<a class="anchor" id="a261f1adeed09c748431d960c009280e2"></a><!-- doxytag: member="ContextRealLogger::showModule" ref="a261f1adeed09c748431d960c009280e2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char * <a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">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>
+<a class="anchor" id="adbf345abfa4979dad50fa64587d8b12b"></a><!-- doxytag: member="ContextRealLogger::showTest" ref="adbf345abfa4979dad50fa64587d8b12b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">ContextRealLogger::showTest</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Test messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="acf5deaf1c001736730952794379c9fb2"></a><!-- doxytag: member="ContextRealLogger::showWarning" ref="acf5deaf1c001736730952794379c9fb2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">ContextRealLogger::showWarning</a> = true<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Warning messages enabled at runtime. </p>
+
+</div>
+</div>
+<a class="anchor" id="a681ec8a8c8151a6e76de1b1b3aebe902"></a><!-- doxytag: member="ContextRealLogger::useColor" ref="a681ec8a8c8151a6e76de1b1b3aebe902" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">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>
+<a class="anchor" id="a11114df34f0dc06d4261a98db0c1a413"></a><!-- doxytag: member="ContextRealLogger::vanilla" ref="a11114df34f0dc06d4261a98db0c1a413" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">ContextRealLogger::vanilla</a> = false<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Use vanilla (stripped-down) logging. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="logging_8cpp.html">logging.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..83181d36
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_registry_info-members.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_registry_info.html#a8af42fc0ba5306234d06a238056cce99">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#ab812fc743282bca20289cd6b28f7de14">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#aa25ae78e991e72aba1442487e3a7661d">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#a09177765ce970e704de078ea8a8e364c">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#a706d267298633d4e7e8a64bb9f51d37a">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#aaf710ed7356d597c5a7a04cbe74eb5a4">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#a93a34519ddb495338876ba0e1d1a4247">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#a89e54a28e6293e102d3c6cc1c56203a8">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#a455bf52414fc5b7e0be384769af4dc0b">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#a93f77b8ca933babf05a1f26d488a5093">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#a963309761292d39921da3fb06cb31060">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#abd90db03eb9976cab3562da345d50c19">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#a195777381facfb937a992c08c8647519">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#a288081af4423fdc54c0e6db4591a8f34">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#acd9c94071cdd4e01e1b3f42d0e240e25">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#a2dee38dbb2c673b1ddab29fbe578dd44">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#a93732cc21af7bfaf26a89a34c9855e26">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#aa9bd4d704c5cda390b7186bdca213dbc">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#a3edf9b27770690632f8950a832a726a0">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#a3f47c39171329446d574da87b18b49ad">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#a26fbeceb6cc6034badaa3593a93c086a">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a094551b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_registry_info.html
@@ -0,0 +1,538 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A class to introspect the registry contents.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a455bf52414fc5b7e0be384769af4dc0b">keysChanged</a> (const QStringList &amp;currentKeys)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED use changed signal instead. <a href="#a455bf52414fc5b7e0be384769af4dc0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a89e54a28e6293e102d3c6cc1c56203a8">keysAdded</a> (const QStringList &amp;newKeys)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED use changed signal instead. <a href="#a89e54a28e6293e102d3c6cc1c56203a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a93f77b8ca933babf05a1f26d488a5093">keysRemoved</a> (const QStringList &amp;removedKeys)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">DEPRECATED use changed signal instead. <a href="#a93f77b8ca933babf05a1f26d488a5093"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#ab812fc743282bca20289cd6b28f7de14">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="#ab812fc743282bca20289cd6b28f7de14"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a963309761292d39921da3fb06cb31060">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="#a963309761292d39921da3fb06cb31060"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#abd90db03eb9976cab3562da345d50c19">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="#abd90db03eb9976cab3562da345d50c19"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a195777381facfb937a992c08c8647519">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="#a195777381facfb937a992c08c8647519"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#acd9c94071cdd4e01e1b3f42d0e240e25">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="#acd9c94071cdd4e01e1b3f42d0e240e25"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a288081af4423fdc54c0e6db4591a8f34">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="#a288081af4423fdc54c0e6db4591a8f34"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a8af42fc0ba5306234d06a238056cce99">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="#a8af42fc0ba5306234d06a238056cce99"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a93a34519ddb495338876ba0e1d1a4247">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="#a93a34519ddb495338876ba0e1d1a4247"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#aa25ae78e991e72aba1442487e3a7661d">connectNotify</a> (const char *signal)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when people connect to signals. <a href="#aa25ae78e991e72aba1442487e3a7661d"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a93732cc21af7bfaf26a89a34c9855e26">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="#a93732cc21af7bfaf26a89a34c9855e26"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a2dee38dbb2c673b1ddab29fbe578dd44">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="#a2dee38dbb2c673b1ddab29fbe578dd44"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#aa9bd4d704c5cda390b7186bdca213dbc">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="#aa9bd4d704c5cda390b7186bdca213dbc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a3edf9b27770690632f8950a832a726a0">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="#a3edf9b27770690632f8950a832a726a0"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#a706d267298633d4e7e8a64bb9f51d37a">ContextRegistryInfo</a> (const <a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a> &amp;)</td></tr>
+<tr><td class="memItemLeft" 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#a3f47c39171329446d574da87b18b49ad">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="#a3f47c39171329446d574da87b18b49ad"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a26fbeceb6cc6034badaa3593a93c086a">registryInstance</a> = NULL</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the actual pointer to the singelton instance. <a href="#a26fbeceb6cc6034badaa3593a93c086a"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_registry_info.html#aaf710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfoUnitTest</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A class to introspect the registry contents. </p>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a09177765ce970e704de078ea8a8e364c"></a><!-- doxytag: member="ContextRegistryInfo::ContextRegistryInfo" ref="a09177765ce970e704de078ea8a8e364c" 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">
+
+</div>
+</div>
+<a class="anchor" id="a706d267298633d4e7e8a64bb9f51d37a"></a><!-- doxytag: member="ContextRegistryInfo::ContextRegistryInfo" ref="a706d267298633d4e7e8a64bb9f51d37a" 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>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a8af42fc0ba5306234d06a238056cce99"></a><!-- doxytag: member="ContextRegistryInfo::backendName" ref="a8af42fc0ba5306234d06a238056cce99" 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>
+<a class="anchor" id="ab812fc743282bca20289cd6b28f7de14"></a><!-- doxytag: member="ContextRegistryInfo::changed" ref="ab812fc743282bca20289cd6b28f7de14" 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>
+<p>This is not a strict signal - it's possible for the emission to happen even if no actual change happened. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa25ae78e991e72aba1442487e3a7661d"></a><!-- doxytag: member="ContextRegistryInfo::connectNotify" ref="aa25ae78e991e72aba1442487e3a7661d" 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>
+<p>Used to emit deprecation warnings when people connect to deprecated signals. </p>
+
+</div>
+</div>
+<a class="anchor" id="a93a34519ddb495338876ba0e1d1a4247"></a><!-- doxytag: member="ContextRegistryInfo::instance" ref="a93a34519ddb495338876ba0e1d1a4247" 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>
+<p>The object is constructed automaticall on first access. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a89e54a28e6293e102d3c6cc1c56203a8"></a><!-- doxytag: member="ContextRegistryInfo::keysAdded" ref="a89e54a28e6293e102d3c6cc1c56203a8" 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>
+<p>Emitted when new keys become availible in the registry. The list contains only the new keys. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a455bf52414fc5b7e0be384769af4dc0b"></a><!-- doxytag: member="ContextRegistryInfo::keysChanged" ref="a455bf52414fc5b7e0be384769af4dc0b" 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>
+<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>. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a93f77b8ca933babf05a1f26d488a5093"></a><!-- doxytag: member="ContextRegistryInfo::keysRemoved" ref="a93f77b8ca933babf05a1f26d488a5093" 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>
+<p>Emitted when keys disappear (are removed) from the registry. The list contains only the removed keys. </p>
+<dl><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>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="abd90db03eb9976cab3562da345d50c19"></a><!-- doxytag: member="ContextRegistryInfo::listKeys" ref="abd90db03eb9976cab3562da345d50c19" 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>
+<a class="anchor" id="a963309761292d39921da3fb06cb31060"></a><!-- doxytag: member="ContextRegistryInfo::listKeys" ref="a963309761292d39921da3fb06cb31060" 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>
+<a class="anchor" id="a195777381facfb937a992c08c8647519"></a><!-- doxytag: member="ContextRegistryInfo::listKeysForPlugin" ref="a195777381facfb937a992c08c8647519" 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>
+<a class="anchor" id="a288081af4423fdc54c0e6db4591a8f34"></a><!-- doxytag: member="ContextRegistryInfo::listPlugins" ref="a288081af4423fdc54c0e6db4591a8f34" 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>
+<a class="anchor" id="acd9c94071cdd4e01e1b3f42d0e240e25"></a><!-- doxytag: member="ContextRegistryInfo::listProviders" ref="acd9c94071cdd4e01e1b3f42d0e240e25" 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>
+<p>The lists consist of strings with dbus names of the providers. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2dee38dbb2c673b1ddab29fbe578dd44"></a><!-- doxytag: member="ContextRegistryInfo::onKeysAdded" ref="a2dee38dbb2c673b1ddab29fbe578dd44" 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>
+<p>Will be removed when deprecated <a class="el" href="class_context_registry_info.html#a89e54a28e6293e102d3c6cc1c56203a8" title="DEPRECATED use changed signal instead.">keysAdded()</a> signal is removed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a93732cc21af7bfaf26a89a34c9855e26"></a><!-- doxytag: member="ContextRegistryInfo::onKeysChanged" ref="a93732cc21af7bfaf26a89a34c9855e26" 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>
+<p>Will be removed when deprecated <a class="el" href="class_context_registry_info.html#a455bf52414fc5b7e0be384769af4dc0b" title="DEPRECATED use changed signal instead.">keysChanged()</a> signal is removed. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa9bd4d704c5cda390b7186bdca213dbc"></a><!-- doxytag: member="ContextRegistryInfo::onKeysRemoved" ref="aa9bd4d704c5cda390b7186bdca213dbc" 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>
+<p>Will be removed when deprecated <a class="el" href="class_context_registry_info.html#a93f77b8ca933babf05a1f26d488a5093" title="DEPRECATED use changed signal instead.">keysRemoved()</a> signal is removed. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3edf9b27770690632f8950a832a726a0"></a><!-- doxytag: member="ContextRegistryInfo::onListChanged" ref="a3edf9b27770690632f8950a832a726a0" 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>
+<p>Gets called when the list of keys changes. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3f47c39171329446d574da87b18b49ad"></a><!-- doxytag: member="ContextRegistryInfo::operator=" ref="a3f47c39171329446d574da87b18b49ad" 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>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="aaf710ed7356d597c5a7a04cbe74eb5a4"></a><!-- doxytag: member="ContextRegistryInfo::ContextRegistryInfoUnitTest" ref="aaf710ed7356d597c5a7a04cbe74eb5a4" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a26fbeceb6cc6034badaa3593a93c086a"></a><!-- doxytag: member="ContextRegistryInfo::registryInstance" ref="a26fbeceb6cc6034badaa3593a93c086a" 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#a26fbeceb6cc6034badaa3593a93c086a">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>
+<p>Mutex protected during creation. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="contextregistryinfo_8cpp.html">contextregistryinfo.cpp</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_string_enum_info-members.html b/libcontextsubscriber/doc/html/class_context_string_enum_info-members.html
new file mode 100644
index 00000000..892e6027
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_string_enum_info-members.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextStringEnumInfo Member List</h1>This is the complete list of members for <a class="el" href="class_context_string_enum_info.html">ContextStringEnumInfo</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>()</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">AssocTree</a>(const QVariant &amp;root)</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">base</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_string_enum_info.html#a110f0b9e727a866d3d036fb5d2ab1f98">choiceDoc</a>(const QString &amp;choice) const </td><td><a class="el" href="class_context_string_enum_info.html">ContextStringEnumInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_string_enum_info.html#a0d5c4a1ac7e645f0c1e8a6bbc507e492">choices</a>() const </td><td><a class="el" href="class_context_string_enum_info.html">ContextStringEnumInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_string_enum_info.html#a1060740ec44d6dd57c15c7334e4f9c69">ContextStringEnumInfo</a>(const ContextTypeInfo &amp;info)</td><td><a class="el" href="class_context_string_enum_info.html">ContextStringEnumInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ab426acb27dff6915268f08f639f4c639">ContextTypeInfo</a>(const AssocTree &amp;tree)</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">ContextTypeInfo</a>(const QVariant &amp;tree)</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a>()</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef">definition</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">doc</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">dump</a>(int level=0) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0">ensureNewTypes</a>()</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">name</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593">node</a>(const QString &amp;name) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a56c5c190fd1bc330815d530eba81190a">node</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a511793ffc1dd3838837104892314c109">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab4b6e11b9aefa354e392b2971869dfa4">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a1ff303816cce9076cf453866ed4fff24">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">nodes</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">parameterDoc</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">parameterNode</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">parameters</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">parameterValue</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">value</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ae396650bfb964d4aa4535af0b63ac488">value</a>(const QString &amp;name1) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a556e85ecc5ebaa14e7e141703ba4d7a5">value</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a34737a631a9fe5595424d84a7ce706e6">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a87c206613662c98e1978df031aed2625">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a564cde83c39440dfdae5f9915c615b22">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_string_enum_info.html b/libcontextsubscriber/doc/html/class_context_string_enum_info.html
new file mode 100644
index 00000000..01a9078a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_string_enum_info.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: ContextStringEnumInfo 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextStringEnumInfo Class Reference</h1><!-- doxytag: class="ContextStringEnumInfo" --><!-- doxytag: inherits="ContextTypeInfo" -->
+<p><code>#include &lt;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a>&gt;</code></p>
+
+<p><a href="class_context_string_enum_info-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_string_enum_info.html#a1060740ec44d6dd57c15c7334e4f9c69">ContextStringEnumInfo</a> (const <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> &amp;info)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_string_enum_info.html#a0d5c4a1ac7e645f0c1e8a6bbc507e492">choices</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_string_enum_info.html#a110f0b9e727a866d3d036fb5d2ab1f98">choiceDoc</a> (const QString &amp;choice) const </td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1060740ec44d6dd57c15c7334e4f9c69"></a><!-- doxytag: member="ContextStringEnumInfo::ContextStringEnumInfo" ref="a1060740ec44d6dd57c15c7334e4f9c69" args="(const ContextTypeInfo &amp;info)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextStringEnumInfo::ContextStringEnumInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>info</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a110f0b9e727a866d3d036fb5d2ab1f98"></a><!-- doxytag: member="ContextStringEnumInfo::choiceDoc" ref="a110f0b9e727a866d3d036fb5d2ab1f98" args="(const QString &amp;choice) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextStringEnumInfo::choiceDoc </td>
+ <td>(</td>
+ <td class="paramtype">const QString &amp;&nbsp;</td>
+ <td class="paramname"> <em>choice</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0d5c4a1ac7e645f0c1e8a6bbc507e492"></a><!-- doxytag: member="ContextStringEnumInfo::choices" ref="a0d5c4a1ac7e645f0c1e8a6bbc507e492" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QStringList ContextStringEnumInfo::choices </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a></li>
+<li><a class="el" href="contexttypeinfo_8cpp.html">contexttypeinfo.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9d6281e6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin-members.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a80103689b09397c9a399987df806af1c">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#a0be51b23a1acd297bb9155d611d37270">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#ab3728dd869ea64e058f4f7c35a4bb067">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#ab46c98a850ad26f29b8256ace7317ea5">corePrefix</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#a659b0f0fcb7a740975fadc55c670bbf7">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#a59577eace322abd960442ad4e86f381b">keyToPath</a>(QString key)</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#a73f07ee2c97993ecefe0b0787cc33523">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#afde8f2ee5e10b6625f3b023d6ad3523b">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#ad8141ab741a7d60ba3d1e067f0bb290e">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#a1f2999785a6f653a95a946bcc09d05ba">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#aae19463cfcd2a2925420e9befaa42783">newProtocol</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#a325ac3f7f3a87587218ee90fb6dd36be">newSubscribe</a>(const QString &amp;key)</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#a192e933ca4f023f84de709e84fbe47e7">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#a9391a2ed305e25493a611c25ed9aa7a2">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#aca1f1f90efb47950385d5814dadc573d">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#a83385b7cf39ae293e6e06705f952f9a1">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#a119181d213c126458f065a0b10e7e281">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#a87a7194ff406805a3b0d38f47d0a0aff">onNewValueChanged</a>(QList&lt; QVariant &gt; value, quint64 timestamp, QDBusMessage message)</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#aef61e0a51dad4988fe264474cb2bdd7d">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#a0ebafac80dca92564323f78a1fbfa6b7">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#a3bf2af611eaccdca68e577c01b2a7607">pathToKey</a>(QString key)</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#a0ec50bd2ac114b96bb7a2b203aa1273a">propertyIName</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#a0e34a8c4b3dafd66d2a094cf2ee22424">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#acb1ad4d2dafa9c137acff2a84916686f">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#ad5959b9c2e4976ad24025492bfd9109c">reset</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#aa45ae69058525f998ed5eb0c275cac75">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#a803a4bf54f2017025bc314fc14702513">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#a4a3fcd522bbb2cc67c5821bcf15ed3d4">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_i_provider_plugin.html#a6e1df08c986196711249d12d9033e72c">ContextSubscriber::IProviderPlugin::subscribeFinished</a>(QString key, TimedValue timedvalue)</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_context_kit_plugin.html#ac65d96beebc2af0eda5b79462c531836">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#ac5cf234581bce7834ff86d57b5bcb331">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#a4936904e1483e3f06c86e10d65a39e50">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#a5603631c4a9e7f6a4cbe05af6dfe5c48">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>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a3ff072b396c9f59d7bf30494824526c7">ContextSubscriber::IProviderPlugin::valueChanged</a>(QString key, TimedValue timedvalue)</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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b096230b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_context_kit_plugin.html
@@ -0,0 +1,768 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>Implementation of the ContextKit D-Bus protocol.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" 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#acb1ad4d2dafa9c137acff2a84916686f">ready</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emitted when the GetSubscriber call returns successfully. <a href="#acb1ad4d2dafa9c137acff2a84916686f"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a659b0f0fcb7a740975fadc55c670bbf7">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="#a659b0f0fcb7a740975fadc55c670bbf7"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a4a3fcd522bbb2cc67c5821bcf15ed3d4">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="#a4a3fcd522bbb2cc67c5821bcf15ed3d4"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a803a4bf54f2017025bc314fc14702513">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="#a803a4bf54f2017025bc314fc14702513"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a5603631c4a9e7f6a4cbe05af6dfe5c48">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="#a5603631c4a9e7f6a4cbe05af6dfe5c48"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ab3728dd869ea64e058f4f7c35a4bb067">ContextKitPlugin</a> (const QDBusConnection bus, const QString &amp;<a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a80103689b09397c9a399987df806af1c">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="#ab3728dd869ea64e058f4f7c35a4bb067"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#aa45ae69058525f998ed5eb0c275cac75">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="#aa45ae69058525f998ed5eb0c275cac75"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a4936904e1483e3f06c86e10d65a39e50">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="#a4936904e1483e3f06c86e10d65a39e50"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" 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#a87a7194ff406805a3b0d38f47d0a0aff">onNewValueChanged</a> (QList&lt; QVariant &gt; value, quint64 timestamp, QDBusMessage message)</td></tr>
+<tr><td class="memItemLeft" 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#a119181d213c126458f065a0b10e7e281">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="#a119181d213c126458f065a0b10e7e281"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a9391a2ed305e25493a611c25ed9aa7a2">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="#a9391a2ed305e25493a611c25ed9aa7a2"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a192e933ca4f023f84de709e84fbe47e7">onDBusGetSubscriberFailed</a> (QDBusError err)</td></tr>
+<tr><td class="memItemLeft" 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#a83385b7cf39ae293e6e06705f952f9a1">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="#a83385b7cf39ae293e6e06705f952f9a1"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#aca1f1f90efb47950385d5814dadc573d">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="#aca1f1f90efb47950385d5814dadc573d"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#aef61e0a51dad4988fe264474cb2bdd7d">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="#aef61e0a51dad4988fe264474cb2bdd7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a0ebafac80dca92564323f78a1fbfa6b7">onProviderDisappeared</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete our subscriber interface when the provider goes away. <a href="#a0ebafac80dca92564323f78a1fbfa6b7"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a325ac3f7f3a87587218ee90fb6dd36be">newSubscribe</a> (const QString &amp;key)</td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#ad5959b9c2e4976ad24025492bfd9109c">reset</a> ()</td></tr>
+<tr><td class="memItemLeft" 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#a1f2999785a6f653a95a946bcc09d05ba">mergeNullsWithMap</a> (QMap&lt; QString, QVariant &gt; &amp;map, QStringList nulls) const </td></tr>
+<tr><td colspan="2"><h2>Static Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a59577eace322abd960442ad4e86f381b">keyToPath</a> (QString key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a key name to a protocol level object path. <a href="#a59577eace322abd960442ad4e86f381b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a3bf2af611eaccdca68e577c01b2a7607">pathToKey</a> (QString key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inverse of <code>keyToPath</code>. <a href="#a3bf2af611eaccdca68e577c01b2a7607"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a0e34a8c4b3dafd66d2a094cf2ee22424">providerListener</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listens to provider's (dis)appearance over DBus. <a href="#a0e34a8c4b3dafd66d2a094cf2ee22424"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ac5cf234581bce7834ff86d57b5bcb331">subscriberInterface</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The D-Bus interface for the Subscriber object. <a href="#ac5cf234581bce7834ff86d57b5bcb331"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#afde8f2ee5e10b6625f3b023d6ad3523b">managerInterface</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The D-Bus interface for the Manager object. <a href="#afde8f2ee5e10b6625f3b023d6ad3523b"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a0be51b23a1acd297bb9155d611d37270">connection</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The connection to DBus. <a href="#a0be51b23a1acd297bb9155d611d37270"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a80103689b09397c9a399987df806af1c">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="#a80103689b09397c9a399987df806af1c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aae19463cfcd2a2925420e9befaa42783">newProtocol</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The provider on D-Bus speaks the new protocol only. <a href="#aae19463cfcd2a2925420e9befaa42783"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a73f07ee2c97993ecefe0b0787cc33523">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="#a73f07ee2c97993ecefe0b0787cc33523"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ac65d96beebc2af0eda5b79462c531836">subscriberIName</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">org.freedesktop.ContextKit.Subscriber <a href="#ac65d96beebc2af0eda5b79462c531836"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ad8141ab741a7d60ba3d1e067f0bb290e">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="#ad8141ab741a7d60ba3d1e067f0bb290e"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a0ec50bd2ac114b96bb7a2b203aa1273a">propertyIName</a> = &quot;org.maemo.contextkit.Property&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">org.maemo.contextkit.Property <a href="#a0ec50bd2ac114b96bb7a2b203aa1273a"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ab46c98a850ad26f29b8256ace7317ea5">corePrefix</a> = &quot;/org/maemo/contextkit/&quot;</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">/org/maemo/contextkit/ <a href="#ab46c98a850ad26f29b8256ace7317ea5"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Implementation of the ContextKit D-Bus protocol. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab3728dd869ea64e058f4f7c35a4bb067"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::ContextKitPlugin" ref="ab3728dd869ea64e058f4f7c35a4bb067" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a659b0f0fcb7a740975fadc55c670bbf7"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::failed" ref="a659b0f0fcb7a740975fadc55c670bbf7" 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#a2b38e3432ffbe7006ffcbe696e4331dd">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a59577eace322abd960442ad4e86f381b"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::keyToPath" ref="a59577eace322abd960442ad4e86f381b" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextSubscriber::ContextKitPlugin::keyToPath </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Converts a key name to a protocol level object path. </p>
+<p>There is a distinction, because core properties have the form <code>/org/maemo/contextkit/Screen/TopEdge</code> on D-Bus level, but on higher levels they are <code>Screen.TopEdge</code>. Non-core properties should simply have a name like /com/nokia/modem/Specific/Feature, so they can be used as object paths without further conversions. </p>
+
+</div>
+</div>
+<a class="anchor" id="a1f2999785a6f653a95a946bcc09d05ba"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::mergeNullsWithMap" ref="a1f2999785a6f653a95a946bcc09d05ba" 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">
+
+</div>
+</div>
+<a class="anchor" id="a325ac3f7f3a87587218ee90fb6dd36be"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::newSubscribe" ref="a325ac3f7f3a87587218ee90fb6dd36be" args="(const QString &amp;key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::newSubscribe </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">
+
+</div>
+</div>
+<a class="anchor" id="a192e933ca4f023f84de709e84fbe47e7"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusGetSubscriberFailed" ref="a192e933ca4f023f84de709e84fbe47e7" 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">
+
+</div>
+</div>
+<a class="anchor" id="a9391a2ed305e25493a611c25ed9aa7a2"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusGetSubscriberFinished" ref="a9391a2ed305e25493a611c25ed9aa7a2" 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>
+<a class="anchor" id="aca1f1f90efb47950385d5814dadc573d"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusSubscribeFailed" ref="aca1f1f90efb47950385d5814dadc573d" 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>
+<a class="anchor" id="a83385b7cf39ae293e6e06705f952f9a1"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusSubscribeFinished" ref="a83385b7cf39ae293e6e06705f952f9a1" 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>
+<a class="anchor" id="a119181d213c126458f065a0b10e7e281"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onDBusValuesChanged" ref="a119181d213c126458f065a0b10e7e281" 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>
+<a class="anchor" id="a87a7194ff406805a3b0d38f47d0a0aff"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onNewValueChanged" ref="a87a7194ff406805a3b0d38f47d0a0aff" args="(QList&lt; QVariant &gt; value, quint64 timestamp, QDBusMessage message)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::onNewValueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QList&lt; QVariant &gt;&nbsp;</td>
+ <td class="paramname"> <em>value</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">quint64&nbsp;</td>
+ <td class="paramname"> <em>timestamp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QDBusMessage&nbsp;</td>
+ <td class="paramname"> <em>message</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">
+
+</div>
+</div>
+<a class="anchor" id="aef61e0a51dad4988fe264474cb2bdd7d"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onProviderAppeared" ref="aef61e0a51dad4988fe264474cb2bdd7d" 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>
+<a class="anchor" id="a0ebafac80dca92564323f78a1fbfa6b7"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::onProviderDisappeared" ref="a0ebafac80dca92564323f78a1fbfa6b7" 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>
+<a class="anchor" id="a3bf2af611eaccdca68e577c01b2a7607"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::pathToKey" ref="a3bf2af611eaccdca68e577c01b2a7607" args="(QString key)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextSubscriber::ContextKitPlugin::pathToKey </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Inverse of <code>keyToPath</code>. </p>
+
+</div>
+</div>
+<a class="anchor" id="acb1ad4d2dafa9c137acff2a84916686f"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::ready" ref="acb1ad4d2dafa9c137acff2a84916686f" 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#a236ba3dcfb3fd566fffb89e05855dbf8">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad5959b9c2e4976ad24025492bfd9109c"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::reset" ref="ad5959b9c2e4976ad24025492bfd9109c" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::ContextKitPlugin::reset </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa45ae69058525f998ed5eb0c275cac75"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscribe" ref="aa45ae69058525f998ed5eb0c275cac75" 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#a96f3f5ea81859ddfef63c0e064cba365">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a803a4bf54f2017025bc314fc14702513"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscribeFailed" ref="a803a4bf54f2017025bc314fc14702513" 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#ae62e69b51185cb0437230916cc306548">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4a3fcd522bbb2cc67c5821bcf15ed3d4"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscribeFinished" ref="a4a3fcd522bbb2cc67c5821bcf15ed3d4" 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#a68cf30909195fcadb259056ad8a8d9ba">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4936904e1483e3f06c86e10d65a39e50"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::unsubscribe" ref="a4936904e1483e3f06c86e10d65a39e50" 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#a9a5410b5898e5d1efde167752696f2f5">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5603631c4a9e7f6a4cbe05af6dfe5c48"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::valueChanged" ref="a5603631c4a9e7f6a4cbe05af6dfe5c48" 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#a3a106b2d49454337f9269b2ffb07647e">ContextSubscriber::IProviderPlugin</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a80103689b09397c9a399987df806af1c"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::busName" ref="a80103689b09397c9a399987df806af1c" 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#a80103689b09397c9a399987df806af1c">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>
+<a class="anchor" id="a0be51b23a1acd297bb9155d611d37270"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::connection" ref="a0be51b23a1acd297bb9155d611d37270" 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#a0be51b23a1acd297bb9155d611d37270">ContextSubscriber::ContextKitPlugin::connection</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The connection to DBus. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab46c98a850ad26f29b8256ace7317ea5"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::corePrefix" ref="ab46c98a850ad26f29b8256ace7317ea5" 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#ab46c98a850ad26f29b8256ace7317ea5">ContextSubscriber::ContextKitPlugin::corePrefix</a> = &quot;/org/maemo/contextkit/&quot;<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>/org/maemo/contextkit/ </p>
+
+</div>
+</div>
+<a class="anchor" id="a73f07ee2c97993ecefe0b0787cc33523"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::managerIName" ref="a73f07ee2c97993ecefe0b0787cc33523" 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#a73f07ee2c97993ecefe0b0787cc33523">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>
+<a class="anchor" id="afde8f2ee5e10b6625f3b023d6ad3523b"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::managerInterface" ref="afde8f2ee5e10b6625f3b023d6ad3523b" 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#afde8f2ee5e10b6625f3b023d6ad3523b">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>
+<a class="anchor" id="ad8141ab741a7d60ba3d1e067f0bb290e"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::managerPath" ref="ad8141ab741a7d60ba3d1e067f0bb290e" 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#ad8141ab741a7d60ba3d1e067f0bb290e">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>
+<a class="anchor" id="aae19463cfcd2a2925420e9befaa42783"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::newProtocol" ref="aae19463cfcd2a2925420e9befaa42783" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aae19463cfcd2a2925420e9befaa42783">ContextSubscriber::ContextKitPlugin::newProtocol</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The provider on D-Bus speaks the new protocol only. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0ec50bd2ac114b96bb7a2b203aa1273a"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::propertyIName" ref="a0ec50bd2ac114b96bb7a2b203aa1273a" 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#a0ec50bd2ac114b96bb7a2b203aa1273a">ContextSubscriber::ContextKitPlugin::propertyIName</a> = &quot;org.maemo.contextkit.Property&quot;<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>org.maemo.contextkit.Property </p>
+
+</div>
+</div>
+<a class="anchor" id="a0e34a8c4b3dafd66d2a094cf2ee22424"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::providerListener" ref="a0e34a8c4b3dafd66d2a094cf2ee22424" 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#a0e34a8c4b3dafd66d2a094cf2ee22424">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>
+<a class="anchor" id="ac65d96beebc2af0eda5b79462c531836"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscriberIName" ref="ac65d96beebc2af0eda5b79462c531836" 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#ac65d96beebc2af0eda5b79462c531836">ContextSubscriber::ContextKitPlugin::subscriberIName</a><code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>org.freedesktop.ContextKit.Subscriber </p>
+
+</div>
+</div>
+<a class="anchor" id="ac5cf234581bce7834ff86d57b5bcb331"></a><!-- doxytag: member="ContextSubscriber::ContextKitPlugin::subscriberInterface" ref="ac5cf234581bce7834ff86d57b5bcb331" 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#ac5cf234581bce7834ff86d57b5bcb331">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>
+<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>
+<li><a class="el" href="contextkitplugin_8cpp.html">contextkitplugin.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9b8f993d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener-members.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a86d18fe068b5a9e7b722aaf76dd897bd">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#a4ae2ef44be74c21c952f1bddb2a152f9">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#ae09ac9d58b9c15e9ba77bf7f8247a5e7">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#a80cd4b4576989625cefc639d21bfee5d">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#ac9b64a5b065dab20600d600c54cac950">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#ac6727dbeb9c1f8ef2c101b223ef3acca">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#a2141c57da98b81259101f6e782cf92f5">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#a156d249adafb167b396e61786590480b">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#a96df4b22f35d6e39d0db58e1e26a9550">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#ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884">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#afd2c19f9dc41d1e68bc2d22a1e2ac4a7">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#aca7dd6273d3e2335a436b34b284d1830">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#ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab">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#ac265c0eaa26e4e3b3c3182652563032d">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#ab1dd997605d2d5ef768c1b113ee42c52">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#a2a28de9dd87121d688410053a025c470">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#a888a8557a7246d7c268e8037220f3156">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#a29c51998308e0448bee857df8f8206cc">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#ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c">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#a0049dbd454615122dcfca92253b7e7d7">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f56b3ae7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_d_bus_name_listener.html
@@ -0,0 +1,434 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Types</h2></td></tr>
+<tr><td class="memItemLeft" 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#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> { <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884">NotPresent</a> = 0,
+<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab">Present</a>,
+<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c">Unknown</a>
+ }</td></tr>
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" 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#a156d249adafb167b396e61786590480b">nameAppeared</a> ()</td></tr>
+<tr><td class="memItemLeft" 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#a96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared</a> ()</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a80cd4b4576989625cefc639d21bfee5d">DBusNameListener</a> (QDBusConnection::BusType <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a4ae2ef44be74c21c952f1bddb2a152f9">busType</a>, const QString &amp;<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a86d18fe068b5a9e7b722aaf76dd897bd">busName</a>, QObject *parent=0)</td></tr>
+<tr><td class="memItemLeft" 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#ac9b64a5b065dab20600d600c54cac950">DBusNameListener</a> (const QDBusConnection bus, const QString &amp;<a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a86d18fe068b5a9e7b722aaf76dd897bd">busName</a>, QObject *parent=0)</td></tr>
+<tr><td class="memItemLeft" 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#a0049dbd454615122dcfca92253b7e7d7">~DBusNameListener</a> ()</td></tr>
+<tr><td class="memItemLeft" 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#a29c51998308e0448bee857df8f8206cc">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="#a29c51998308e0448bee857df8f8206cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac6727dbeb9c1f8ef2c101b223ef3acca">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="#ac6727dbeb9c1f8ef2c101b223ef3acca"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" 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#aca7dd6273d3e2335a436b34b284d1830">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#a156d249adafb167b396e61786590480b">nameAppeared()</a></code> or <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared()</a></code> signal. <a href="#aca7dd6273d3e2335a436b34b284d1830"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#afd2c19f9dc41d1e68bc2d22a1e2ac4a7">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="#afd2c19f9dc41d1e68bc2d22a1e2ac4a7"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a888a8557a7246d7c268e8037220f3156">setServicePresent</a> ()</td></tr>
+<tr><td class="memItemLeft" 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#a2a28de9dd87121d688410053a025c470">setServiceGone</a> ()</td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ab1dd997605d2d5ef768c1b113ee42c52">servicePresent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Our current understanding about the service name's state. <a href="#ab1dd997605d2d5ef768c1b113ee42c52"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a4ae2ef44be74c21c952f1bddb2a152f9">busType</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The service bus type we are interested in. <a href="#a4ae2ef44be74c21c952f1bddb2a152f9"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a86d18fe068b5a9e7b722aaf76dd897bd">busName</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The service name we are interested in. <a href="#a86d18fe068b5a9e7b722aaf76dd897bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a2141c57da98b81259101f6e782cf92f5">listeningStarted</a></td></tr>
+<tr><td class="memItemLeft" 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#ae09ac9d58b9c15e9ba77bf7f8247a5e7">connection</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Listens for changes in a specific service name on a D-Bus bus, optionally gets the initial state of the service name. </p>
+<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>
+<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#a156d249adafb167b396e61786590480b">nameAppeared()</a></code> signal, if disappears, then the <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared()</a> signal. An initial query and signal emission will be done if <code>initialCheck</code> is true, which is the default.</p>
+<p>Anytime you can check with <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac6727dbeb9c1f8ef2c101b223ef3acca" 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#ac6727dbeb9c1f8ef2c101b223ef3acca" title="Return our current understanding (not present, present, unknown) of the presence...">isServicePresent()</a></code> can return false, even though the service is present. </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="ac265c0eaa26e4e3b3c3182652563032d"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::ServicePresence" ref="ac265c0eaa26e4e3b3c3182652563032d" 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#ac265c0eaa26e4e3b3c3182652563032d">ContextSubscriber::DBusNameListener::ServicePresence</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884"></a><!-- doxytag: member="NotPresent" ref="ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884" args="" -->NotPresent</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab"></a><!-- doxytag: member="Present" ref="ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab" args="" -->Present</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c"></a><!-- doxytag: member="Unknown" ref="ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c" args="" -->Unknown</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a80cd4b4576989625cefc639d21bfee5d"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::DBusNameListener" ref="a80cd4b4576989625cefc639d21bfee5d" 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">
+
+</div>
+</div>
+<a class="anchor" id="ac9b64a5b065dab20600d600c54cac950"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::DBusNameListener" ref="ac9b64a5b065dab20600d600c54cac950" 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">
+
+</div>
+</div>
+<a class="anchor" id="a0049dbd454615122dcfca92253b7e7d7"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::~DBusNameListener" ref="a0049dbd454615122dcfca92253b7e7d7" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac6727dbeb9c1f8ef2c101b223ef3acca"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::isServicePresent" ref="ac6727dbeb9c1f8ef2c101b223ef3acca" 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#ac265c0eaa26e4e3b3c3182652563032d">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>
+<a class="anchor" id="a156d249adafb167b396e61786590480b"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::nameAppeared" ref="a156d249adafb167b396e61786590480b" 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">
+
+</div>
+</div>
+<a class="anchor" id="a96df4b22f35d6e39d0db58e1e26a9550"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::nameDisappeared" ref="a96df4b22f35d6e39d0db58e1e26a9550" 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">
+
+</div>
+</div>
+<a class="anchor" id="afd2c19f9dc41d1e68bc2d22a1e2ac4a7"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::onNameHasOwnerFinished" ref="afd2c19f9dc41d1e68bc2d22a1e2ac4a7" 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>
+<a class="anchor" id="aca7dd6273d3e2335a436b34b284d1830"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::onServiceOwnerChanged" ref="aca7dd6273d3e2335a436b34b284d1830" 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#a156d249adafb167b396e61786590480b">nameAppeared()</a></code> or <code><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a96df4b22f35d6e39d0db58e1e26a9550">nameDisappeared()</a></code> signal. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2a28de9dd87121d688410053a025c470"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::setServiceGone" ref="a2a28de9dd87121d688410053a025c470" 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">
+
+</div>
+</div>
+<a class="anchor" id="a888a8557a7246d7c268e8037220f3156"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::setServicePresent" ref="a888a8557a7246d7c268e8037220f3156" 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">
+
+</div>
+</div>
+<a class="anchor" id="a29c51998308e0448bee857df8f8206cc"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::startListening" ref="a29c51998308e0448bee857df8f8206cc" 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>
+<p>If <em>nameHasOwnerCheck</em> is true, also send a NameHasOwner query to D-Bus (asyncronously). </p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a86d18fe068b5a9e7b722aaf76dd897bd"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::busName" ref="a86d18fe068b5a9e7b722aaf76dd897bd" 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#a86d18fe068b5a9e7b722aaf76dd897bd">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>
+<a class="anchor" id="a4ae2ef44be74c21c952f1bddb2a152f9"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::busType" ref="a4ae2ef44be74c21c952f1bddb2a152f9" 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#a4ae2ef44be74c21c952f1bddb2a152f9">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>
+<a class="anchor" id="ae09ac9d58b9c15e9ba77bf7f8247a5e7"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::connection" ref="ae09ac9d58b9c15e9ba77bf7f8247a5e7" 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#ae09ac9d58b9c15e9ba77bf7f8247a5e7">ContextSubscriber::DBusNameListener::connection</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2141c57da98b81259101f6e782cf92f5"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::listeningStarted" ref="a2141c57da98b81259101f6e782cf92f5" 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#a2141c57da98b81259101f6e782cf92f5">ContextSubscriber::DBusNameListener::listeningStarted</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab1dd997605d2d5ef768c1b113ee42c52"></a><!-- doxytag: member="ContextSubscriber::DBusNameListener::servicePresent" ref="ab1dd997605d2d5ef768c1b113ee42c52" 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#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ab1dd997605d2d5ef768c1b113ee42c52">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>
+<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>
+<li><a class="el" href="dbusnamelistener_8cpp.html">dbusnamelistener.cpp</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6e783f09
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router-members.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#a11cb80bdb993a829a06e7338c014d45b">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#ad22b0b2d41d77e490f86d4979933a0b4">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#a73ad5f7ecb6fa6c9e2f3b95491859ecd">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#aaf730d9b2ee3d70b6ecf0990fc36de57">onSubscribeFinished</a>(Provider *provider, 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#af617232398fe317edf8bf00b0e6d430c">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..55cb485a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_handle_signal_router.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Slots</h2></td></tr>
+<tr><td class="memItemLeft" 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#af617232398fe317edf8bf00b0e6d430c">onValueChanged</a> (QString key)</td></tr>
+<tr><td class="memItemLeft" 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#aaf730d9b2ee3d70b6ecf0990fc36de57">onSubscribeFinished</a> (<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *provider, QString key)</td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#ad22b0b2d41d77e490f86d4979933a0b4">instance</a> ()</td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#a11cb80bdb993a829a06e7338c014d45b">HandleSignalRouter</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a73ad5f7ecb6fa6c9e2f3b95491859ecd">myInstance</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Singleton instance. <a href="#a73ad5f7ecb6fa6c9e2f3b95491859ecd"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a11cb80bdb993a829a06e7338c014d45b"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::HandleSignalRouter" ref="a11cb80bdb993a829a06e7338c014d45b" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad22b0b2d41d77e490f86d4979933a0b4"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::instance" ref="ad22b0b2d41d77e490f86d4979933a0b4" 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">
+
+</div>
+</div>
+<a class="anchor" id="aaf730d9b2ee3d70b6ecf0990fc36de57"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::onSubscribeFinished" ref="aaf730d9b2ee3d70b6ecf0990fc36de57" args="(Provider *provider, 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"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *&nbsp;</td>
+ <td class="paramname"> <em>provider</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</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">
+
+</div>
+</div>
+<a class="anchor" id="af617232398fe317edf8bf00b0e6d430c"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::onValueChanged" ref="af617232398fe317edf8bf00b0e6d430c" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a73ad5f7ecb6fa6c9e2f3b95491859ecd"></a><!-- doxytag: member="ContextSubscriber::HandleSignalRouter::myInstance" ref="a73ad5f7ecb6fa6c9e2f3b95491859ecd" 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#a73ad5f7ecb6fa6c9e2f3b95491859ecd">ContextSubscriber::HandleSignalRouter::myInstance</a><code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Singleton instance. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="handlesignalrouter_8cpp.html">handlesignalrouter.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6b0441ba
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin-members.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a2b38e3432ffbe7006ffcbe696e4331dd">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#a236ba3dcfb3fd566fffb89e05855dbf8">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#a96f3f5ea81859ddfef63c0e064cba365">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#ae62e69b51185cb0437230916cc306548">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#a68cf30909195fcadb259056ad8a8d9ba">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#a6e1df08c986196711249d12d9033e72c">subscribeFinished</a>(QString key, TimedValue timedvalue)</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#a9a5410b5898e5d1efde167752696f2f5">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#a3a106b2d49454337f9269b2ffb07647e">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>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a3ff072b396c9f59d7bf30494824526c7">valueChanged</a>(QString key, TimedValue timedvalue)</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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..00fa4cb8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_i_provider_plugin.html
@@ -0,0 +1,285 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>Interface for provider plugins.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" 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#a236ba3dcfb3fd566fffb89e05855dbf8">ready</a> ()</td></tr>
+<tr><td class="memItemLeft" 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#a2b38e3432ffbe7006ffcbe696e4331dd">failed</a> (QString error)</td></tr>
+<tr><td class="memItemLeft" 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#a68cf30909195fcadb259056ad8a8d9ba">subscribeFinished</a> (QString key)</td></tr>
+<tr><td class="memItemLeft" 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#a6e1df08c986196711249d12d9033e72c">subscribeFinished</a> (QString key, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> timedvalue)</td></tr>
+<tr><td class="memItemLeft" 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#ae62e69b51185cb0437230916cc306548">subscribeFailed</a> (QString failedKey, QString error)</td></tr>
+<tr><td class="memItemLeft" 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#a3a106b2d49454337f9269b2ffb07647e">valueChanged</a> (QString key, QVariant value)</td></tr>
+<tr><td class="memItemLeft" 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#a3ff072b396c9f59d7bf30494824526c7">valueChanged</a> (QString key, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> timedvalue)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a96f3f5ea81859ddfef63c0e064cba365">subscribe</a> (QSet&lt; QString &gt; keys)=0</td></tr>
+<tr><td class="memItemLeft" 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#a9a5410b5898e5d1efde167752696f2f5">unsubscribe</a> (QSet&lt; QString &gt; keys)=0</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Interface for provider plugins. </p>
+<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>
+<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>
+<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>
+<p>When the plugin is constructed, it should emit the signal <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a236ba3dcfb3fd566fffb89e05855dbf8">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#a236ba3dcfb3fd566fffb89e05855dbf8">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>
+<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>
+<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>
+<p>Subscription failures or successes can be signaled with emitting <code>subscribeFailed</code> and <code>subscribeFinished</code>.</p>
+<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>
+<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. </p>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2b38e3432ffbe7006ffcbe696e4331dd"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::failed" ref="a2b38e3432ffbe7006ffcbe696e4331dd" 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>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a659b0f0fcb7a740975fadc55c670bbf7">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a236ba3dcfb3fd566fffb89e05855dbf8"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::ready" ref="a236ba3dcfb3fd566fffb89e05855dbf8" 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>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#acb1ad4d2dafa9c137acff2a84916686f">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a96f3f5ea81859ddfef63c0e064cba365"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribe" ref="a96f3f5ea81859ddfef63c0e064cba365" 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>Implemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aa45ae69058525f998ed5eb0c275cac75">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae62e69b51185cb0437230916cc306548"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribeFailed" ref="ae62e69b51185cb0437230916cc306548" 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>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a803a4bf54f2017025bc314fc14702513">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6e1df08c986196711249d12d9033e72c"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribeFinished" ref="a6e1df08c986196711249d12d9033e72c" args="(QString key, TimedValue timedvalue)" -->
+<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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&nbsp;</td>
+ <td class="paramname"> <em>timedvalue</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">
+
+</div>
+</div>
+<a class="anchor" id="a68cf30909195fcadb259056ad8a8d9ba"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::subscribeFinished" ref="a68cf30909195fcadb259056ad8a8d9ba" 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>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a4a3fcd522bbb2cc67c5821bcf15ed3d4">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9a5410b5898e5d1efde167752696f2f5"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::unsubscribe" ref="a9a5410b5898e5d1efde167752696f2f5" 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>Implemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a4936904e1483e3f06c86e10d65a39e50">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3ff072b396c9f59d7bf30494824526c7"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::valueChanged" ref="a3ff072b396c9f59d7bf30494824526c7" args="(QString key, TimedValue timedvalue)" -->
+<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"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&nbsp;</td>
+ <td class="paramname"> <em>timedvalue</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">
+
+</div>
+</div>
+<a class="anchor" id="a3a106b2d49454337f9269b2ffb07647e"></a><!-- doxytag: member="ContextSubscriber::IProviderPlugin::valueChanged" ref="a3a106b2d49454337f9269b2ffb07647e" 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>Reimplemented in <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a5603631c4a9e7f6a4cbe05af6dfe5c48">ContextSubscriber::ContextKitPlugin</a>.</p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher-members.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher-members.html
new file mode 100644
index 00000000..bf3cafd4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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::PendingSubscribeWatcher Member List</h1>This is the complete list of members for <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">key</a></td><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ac20dc315b637a4137d6cc1830ed8e779">onFinished</a>()</td><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td><code> [private, slot]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a21b61bbfe9a39063f7b653fee7899943">PendingSubscribeWatcher</a>(const QDBusPendingCall &amp;call, const QString &amp;key, QObject *parent=0)</td><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a305b5626247bf297ab33aeefbdbc5f88">subscribeFailed</a>(QString, QString)</td><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ae9e3fd6b453ad968096ae574030bc9b7">subscribeFinished</a>(QString)</td><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td><code> [signal]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a2ad4c5c689328e78b02ef598994d447c">valueChanged</a>(QString, TimedValue)</td><td><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td><td><code> [signal]</code></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher.html b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher.html
new file mode 100644
index 00000000..a8f45ba2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_pending_subscribe_watcher.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: ContextSubscriber::PendingSubscribeWatcher 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_pending_subscribe_watcher.html">PendingSubscribeWatcher</a>
+ </div>
+</div>
+<div class="contents">
+<h1>ContextSubscriber::PendingSubscribeWatcher Class Reference</h1><!-- doxytag: class="ContextSubscriber::PendingSubscribeWatcher" -->
+<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_pending_subscribe_watcher-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a305b5626247bf297ab33aeefbdbc5f88">subscribeFailed</a> (QString, QString)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a2ad4c5c689328e78b02ef598994d447c">valueChanged</a> (QString, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ae9e3fd6b453ad968096ae574030bc9b7">subscribeFinished</a> (QString)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a21b61bbfe9a39063f7b653fee7899943">PendingSubscribeWatcher</a> (const QDBusPendingCall &amp;call, const QString &amp;<a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">key</a>, QObject *parent=0)</td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ac20dc315b637a4137d6cc1830ed8e779">onFinished</a> ()</td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">key</a></td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a21b61bbfe9a39063f7b653fee7899943"></a><!-- doxytag: member="ContextSubscriber::PendingSubscribeWatcher::PendingSubscribeWatcher" ref="a21b61bbfe9a39063f7b653fee7899943" args="(const QDBusPendingCall &amp;call, const QString &amp;key, QObject *parent=0)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::PendingSubscribeWatcher::PendingSubscribeWatcher </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">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></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ac20dc315b637a4137d6cc1830ed8e779"></a><!-- doxytag: member="ContextSubscriber::PendingSubscribeWatcher::onFinished" ref="ac20dc315b637a4137d6cc1830ed8e779" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PendingSubscribeWatcher::onFinished </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [private, slot]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a305b5626247bf297ab33aeefbdbc5f88"></a><!-- doxytag: member="ContextSubscriber::PendingSubscribeWatcher::subscribeFailed" ref="a305b5626247bf297ab33aeefbdbc5f88" args="(QString, QString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PendingSubscribeWatcher::subscribeFailed </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>_t1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>_t2</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">
+
+</div>
+</div>
+<a class="anchor" id="ae9e3fd6b453ad968096ae574030bc9b7"></a><!-- doxytag: member="ContextSubscriber::PendingSubscribeWatcher::subscribeFinished" ref="ae9e3fd6b453ad968096ae574030bc9b7" args="(QString)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PendingSubscribeWatcher::subscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>_t1</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [signal]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2ad4c5c689328e78b02ef598994d447c"></a><!-- doxytag: member="ContextSubscriber::PendingSubscribeWatcher::valueChanged" ref="a2ad4c5c689328e78b02ef598994d447c" args="(QString, TimedValue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PendingSubscribeWatcher::valueChanged </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>_t1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&nbsp;</td>
+ <td class="paramname"> <em>_t2</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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a24977d3dc1f8ced3ca81648b5bd94dd2"></a><!-- doxytag: member="ContextSubscriber::PendingSubscribeWatcher::key" ref="a24977d3dc1f8ced3ca81648b5bd94dd2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">ContextSubscriber::PendingSubscribeWatcher::key</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="contextkitplugin_8cpp.html">contextkitplugin.cpp</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c7849159
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle-members.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_property_handle.html#a8cb5a37f3a69e7019e9d7559e1e2993c">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#acb7a882c3ef0423544754bd6fd5de7af">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#a6001316d6491ca69ca5be43af4a36211">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#a2626ff2603e1afcd8172008d5932006a">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#a7f70f0de00c9781d43c99ca5d7f87eb1">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#a22f3af77b3cd883beeab47c5f4365169">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#a6d4c9e5006a080e7ae645ed15b1edb28">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#aaa914d9958d6a3f6b69d3b1446307cea">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#aba3e2fbd0fc8a8ab0db60efe934f7d6d">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#a09bbc4df793d9740be2e84cb11fccf41">myProviders</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#a984638b2c34c7756fd17ff41de90a2df">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#a1d0a471cd063b862fcf09aafd4b125af">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#ae40e9519b089dfeefcad97f633839c2b">pendingSubscriptions</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#a1d523c4bc3538073f7f617456cd81a79">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#afc48b064e1b5be372519391772fc7ea8">setSubscribeFinished</a>(Provider *provider)</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#a3031c1cf5c5d3ccdcf91a2218c2e460e">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#a0b12828c764b164dc276a84d46c2ae55">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#a809f0eae9aef4ffec99f035b7e0e547f">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#ae7fb88f203671edb264655c06bc2e1f0">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#a27312e770b51ebf5439e31361ceb46c4">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#ad1e8961717be9c3a813096092d1837a4">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#a067242c57b142940ba02b1e5a74548d5">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#abfeb2b16704e22adc33c31e162ef4e36">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#a0ceee4d69e18be36e726af552aaa58ba">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#ad3d31e74ac2b7e1727ff0947895f4fc1">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3bf76ee0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_property_handle.html
@@ -0,0 +1,522 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A common handle for a context property.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a0ceee4d69e18be36e726af552aaa58ba">valueChanged</a> ()</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a0b12828c764b164dc276a84d46c2ae55">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="#a0b12828c764b164dc276a84d46c2ae55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ad1e8961717be9c3a813096092d1837a4">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="#ad1e8961717be9c3a813096092d1837a4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a6d4c9e5006a080e7ae645ed15b1edb28">key</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#abfeb2b16704e22adc33c31e162ef4e36">value</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a22f3af77b3cd883beeab47c5f4365169">isSubscribePending</a> () const </td></tr>
+<tr><td class="memItemLeft" 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#a2626ff2603e1afcd8172008d5932006a">info</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d0a471cd063b862fcf09aafd4b125af">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="#a1d0a471cd063b862fcf09aafd4b125af"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#afc48b064e1b5be372519391772fc7ea8">setSubscribeFinished</a> (<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *provider)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets <code>subscribePending</code> to false. <a href="#afc48b064e1b5be372519391772fc7ea8"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a7f70f0de00c9781d43c99ca5d7f87eb1">instance</a> (const QString &amp;key)</td></tr>
+<tr><td class="memItemLeft" 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#a6001316d6491ca69ca5be43af4a36211">ignoreCommander</a> ()</td></tr>
+<tr><td class="memItemLeft" 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#a3031c1cf5c5d3ccdcf91a2218c2e460e">setTypeCheck</a> (bool typeCheck)</td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a067242c57b142940ba02b1e5a74548d5">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="#a067242c57b142940ba02b1e5a74548d5"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d523c4bc3538073f7f617456cd81a79">PropertyHandle</a> (const QString &amp;key)</td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QSet&lt; <a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b">pendingSubscriptions</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Providers pending subscription. <a href="#ae40e9519b089dfeefcad97f633839c2b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QList&lt; <a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">myProviders</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Providers of this property. <a href="#a09bbc4df793d9740be2e84cb11fccf41"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#aaa914d9958d6a3f6b69d3b1446307cea">myInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Metadata for this property. <a href="#aaa914d9958d6a3f6b69d3b1446307cea"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a809f0eae9aef4ffec99f035b7e0e547f">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="#a809f0eae9aef4ffec99f035b7e0e547f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">subscribeCountLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d">myKey</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key of this property. <a href="#aba3e2fbd0fc8a8ab0db60efe934f7d6d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QReadWriteLock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">valueLock</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df">myValue</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current value of this property. <a href="#a984638b2c34c7756fd17ff41de90a2df"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a8cb5a37f3a69e7019e9d7559e1e2993c">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="#a8cb5a37f3a69e7019e9d7559e1e2993c"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#acb7a882c3ef0423544754bd6fd5de7af">commandingEnabled</a> = true</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whether the properties can be directed to ContextCommander. <a href="#acb7a882c3ef0423544754bd6fd5de7af"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a27312e770b51ebf5439e31361ceb46c4">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="#a27312e770b51ebf5439e31361ceb46c4"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A common handle for a context property. </p>
+<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>
+<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>
+<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>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1d523c4bc3538073f7f617456cd81a79"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::PropertyHandle" ref="a1d523c4bc3538073f7f617456cd81a79" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a6001316d6491ca69ca5be43af4a36211"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::ignoreCommander" ref="a6001316d6491ca69ca5be43af4a36211" 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">
+
+</div>
+</div>
+<a class="anchor" id="a2626ff2603e1afcd8172008d5932006a"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::info" ref="a2626ff2603e1afcd8172008d5932006a" 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">
+
+</div>
+</div>
+<a class="anchor" id="a7f70f0de00c9781d43c99ca5d7f87eb1"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::instance" ref="a7f70f0de00c9781d43c99ca5d7f87eb1" 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">
+
+</div>
+</div>
+<a class="anchor" id="a22f3af77b3cd883beeab47c5f4365169"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::isSubscribePending" ref="a22f3af77b3cd883beeab47c5f4365169" 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">
+
+</div>
+</div>
+<a class="anchor" id="a6d4c9e5006a080e7ae645ed15b1edb28"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::key" ref="a6d4c9e5006a080e7ae645ed15b1edb28" 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">
+
+</div>
+</div>
+<a class="anchor" id="a1d0a471cd063b862fcf09aafd4b125af"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::onValueChanged" ref="a1d0a471cd063b862fcf09aafd4b125af" 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>
+<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#a0ceee4d69e18be36e726af552aaa58ba">valueChanged()</a> signal. </p>
+
+</div>
+</div>
+<a class="anchor" id="afc48b064e1b5be372519391772fc7ea8"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::setSubscribeFinished" ref="afc48b064e1b5be372519391772fc7ea8" args="(Provider *provider)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::PropertyHandle::setSubscribeFinished </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *&nbsp;</td>
+ <td class="paramname"> <em>provider</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sets <code>subscribePending</code> to false. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3031c1cf5c5d3ccdcf91a2218c2e460e"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::setTypeCheck" ref="a3031c1cf5c5d3ccdcf91a2218c2e460e" 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">
+
+</div>
+</div>
+<a class="anchor" id="a0b12828c764b164dc276a84d46c2ae55"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribe" ref="a0b12828c764b164dc276a84d46c2ae55" 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>
+<a class="anchor" id="ad1e8961717be9c3a813096092d1837a4"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::unsubscribe" ref="ad1e8961717be9c3a813096092d1837a4" 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>
+<a class="anchor" id="a067242c57b142940ba02b1e5a74548d5"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::updateProvider" ref="a067242c57b142940ba02b1e5a74548d5" 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>
+<p>If the provider has changed then renews the subscriptions. </p>
+
+</div>
+</div>
+<a class="anchor" id="abfeb2b16704e22adc33c31e162ef4e36"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::value" ref="abfeb2b16704e22adc33c31e162ef4e36" 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">
+
+</div>
+</div>
+<a class="anchor" id="a0ceee4d69e18be36e726af552aaa58ba"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::valueChanged" ref="a0ceee4d69e18be36e726af552aaa58ba" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a8cb5a37f3a69e7019e9d7559e1e2993c"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::commanderListener" ref="a8cb5a37f3a69e7019e9d7559e1e2993c" 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#a8cb5a37f3a69e7019e9d7559e1e2993c">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>
+<a class="anchor" id="acb7a882c3ef0423544754bd6fd5de7af"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::commandingEnabled" ref="acb7a882c3ef0423544754bd6fd5de7af" 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#acb7a882c3ef0423544754bd6fd5de7af">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>
+<a class="anchor" id="aaa914d9958d6a3f6b69d3b1446307cea"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myInfo" ref="aaa914d9958d6a3f6b69d3b1446307cea" 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#aaa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle::myInfo</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Metadata for this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="aba3e2fbd0fc8a8ab0db60efe934f7d6d"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myKey" ref="aba3e2fbd0fc8a8ab0db60efe934f7d6d" 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#aba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle::myKey</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Key of this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a09bbc4df793d9740be2e84cb11fccf41"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myProviders" ref="a09bbc4df793d9740be2e84cb11fccf41" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QList&lt;<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a>*&gt; <a class="el" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">ContextSubscriber::PropertyHandle::myProviders</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Providers of this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a984638b2c34c7756fd17ff41de90a2df"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::myValue" ref="a984638b2c34c7756fd17ff41de90a2df" 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#a984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle::myValue</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Current value of this property. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae40e9519b089dfeefcad97f633839c2b"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::pendingSubscriptions" ref="ae40e9519b089dfeefcad97f633839c2b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QSet&lt;<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a>*&gt; <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b">ContextSubscriber::PropertyHandle::pendingSubscriptions</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Providers pending subscription. </p>
+
+</div>
+</div>
+<a class="anchor" id="a809f0eae9aef4ffec99f035b7e0e547f"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribeCount" ref="a809f0eae9aef4ffec99f035b7e0e547f" 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#a809f0eae9aef4ffec99f035b7e0e547f">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>
+<a class="anchor" id="ae7fb88f203671edb264655c06bc2e1f0"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::subscribeCountLock" ref="ae7fb88f203671edb264655c06bc2e1f0" 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#ae7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle::subscribeCountLock</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a27312e770b51ebf5439e31361ceb46c4"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::typeCheckEnabled" ref="a27312e770b51ebf5439e31361ceb46c4" 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#a27312e770b51ebf5439e31361ceb46c4">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>
+<a class="anchor" id="ad3d31e74ac2b7e1727ff0947895f4fc1"></a><!-- doxytag: member="ContextSubscriber::PropertyHandle::valueLock" ref="ad3d31e74ac2b7e1727ff0947895f4fc1" 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#ad3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle::valueLock</a><code> [mutable, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+<li><a class="el" href="propertyhandle_8cpp.html">propertyhandle.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d8e4d6e9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider-members.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_provider.html#ae2569ebe40afb18160eccc699574e3c7">clearValues</a>()</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#a1e2136dc7c4ad62b020c7ed95914bb67">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#a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f">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#a34d90db9ddc691d2b687bcbeabb65d7e">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#ab78d5f8ff72bedb037f1f2b15cbda9b9">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#a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46">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#acf3f43a824c33ffaf349feeb9c34b5d0">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#a0b9a9637b9bdd8a3989cfccb14c8a24b">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#ac87916df512014e5048eda7ae9daf3b9">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#ad18a07fdfb76dfa71f15f4b3e1200793">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#acbbadf63086f6b37ff9a9e8e64180032">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#aaa59472d6205931482b4ed7461a40221">onPluginSubscribeFinished</a>(QString key, TimedValue value)</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#ac04c071faa737c9b7f029ef0125f6a1c">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#a2188eca4feb6c3f5bf585c38d6c56463">onPluginValueChanged</a>(QString key, TimedValue 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#a620db59b31c197b98ee64369fd46b30e">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#a18f291fc00e50055a02525f70e38a52b">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#a904cca899aba13b6d356fea73737169e">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#ae4221b5f1438404820abee8de2ed3daa">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#a6e8a91f8a673fb8f2f645212844eb421">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#a9e3fb1afd2eea8cb4b588f3d80bf2e3e">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#a15135b7f30c409e3b8d0cd856444803a">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#a431ca591c990aa22bffb1cfed4b42aff">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#a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1">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#a3046efee2679aa33602deb4f27877eba">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#a063cf90bfd10f0bca4ed471f2c3a9c1e">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#a6b07417f7e024f8dac5b3b327383dbe9">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#afd4795579900229d0710f2a1a707df16">subscribeFinished</a>(Provider *provider, 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#a154fa6041cd471ac46c1038f312ffde6">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#acbf130166861d576d906fc99da9b2d6d">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#aee2cca89bff8d2bc65039a42cb32563c">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#aa6aa042d4a006eb0930d7805139e801f">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#a6288252eecf25f879ecb7c1a507a9088">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#a6e41ed2ec544fc16bd399d8fbcec46ed">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..0ad63005
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_provider.html
@@ -0,0 +1,657 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>Connects to a group of properties via the help of a plugin.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#afd4795579900229d0710f2a1a707df16">subscribeFinished</a> (<a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *provider, QString key)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a6288252eecf25f879ecb7c1a507a9088">valueChanged</a> (QString key)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a063cf90bfd10f0bca4ed471f2c3a9c1e">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="#a063cf90bfd10f0bca4ed471f2c3a9c1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#aa6aa042d4a006eb0930d7805139e801f">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="#aa6aa042d4a006eb0930d7805139e801f"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a34d90db9ddc691d2b687bcbeabb65d7e">get</a> (const QString &amp;key) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#ae2569ebe40afb18160eccc699574e3c7">clearValues</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the cached values for this provider. <a href="#ae2569ebe40afb18160eccc699574e3c7"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#acf3f43a824c33ffaf349feeb9c34b5d0">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#a6e8a91f8a673fb8f2f645212844eb421">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="#acf3f43a824c33ffaf349feeb9c34b5d0"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Types</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52b">PluginState</a> { <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46">INITIALIZING</a>,
+<a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1">READY</a>,
+<a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f">FAILED</a>
+ }</td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#ac87916df512014e5048eda7ae9daf3b9">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="#ac87916df512014e5048eda7ae9daf3b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a0b9a9637b9bdd8a3989cfccb14c8a24b">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="#a0b9a9637b9bdd8a3989cfccb14c8a24b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#acbbadf63086f6b37ff9a9e8e64180032">onPluginSubscribeFinished</a> (QString key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deprecated. <a href="#acbbadf63086f6b37ff9a9e8e64180032"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#aaa59472d6205931482b4ed7461a40221">onPluginSubscribeFinished</a> (QString key, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forwards the call to <code>signalSubscribeFinished</code>. <a href="#aaa59472d6205931482b4ed7461a40221"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#ad18a07fdfb76dfa71f15f4b3e1200793">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="#ad18a07fdfb76dfa71f15f4b3e1200793"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#ac04c071faa737c9b7f029ef0125f6a1c">onPluginValueChanged</a> (QString key, QVariant newValue)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deprecated: plugins should use the variant taking a <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>. <a href="#ac04c071faa737c9b7f029ef0125f6a1c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a2188eca4feb6c3f5bf585c38d6c56463">onPluginValueChanged</a> (QString key, <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> 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="#a2188eca4feb6c3f5bf585c38d6c56463"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#ae4221b5f1438404820abee8de2ed3daa">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#a6e8a91f8a673fb8f2f645212844eb421">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="#ae4221b5f1438404820abee8de2ed3daa"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ab78d5f8ff72bedb037f1f2b15cbda9b9">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="#ab78d5f8ff72bedb037f1f2b15cbda9b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a1e2136dc7c4ad62b020c7ed95914bb67">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="#a1e2136dc7c4ad62b020c7ed95914bb67"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a3046efee2679aa33602deb4f27877eba">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="#a3046efee2679aa33602deb4f27877eba"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a620db59b31c197b98ee64369fd46b30e">plugin</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plugin instance communicating with the concrete provider. <a href="#a620db59b31c197b98ee64369fd46b30e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52b">PluginState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a904cca899aba13b6d356fea73737169e">pluginState</a></td></tr>
+<tr><td class="memItemLeft" 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#a6e8a91f8a673fb8f2f645212844eb421">providerInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameters used to initialize the plugin. <a href="#a6e8a91f8a673fb8f2f645212844eb421"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_provider.html#a154fa6041cd471ac46c1038f312ffde6">subscribeLock</a></td></tr>
+<tr><td class="memItemLeft" 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#acbf130166861d576d906fc99da9b2d6d">toSubscribe</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keys pending for subscription. <a href="#acbf130166861d576d906fc99da9b2d6d"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#aee2cca89bff8d2bc65039a42cb32563c">toUnsubscribe</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Keys pending for unsubscription. <a href="#aee2cca89bff8d2bc65039a42cb32563c"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a6b07417f7e024f8dac5b3b327383dbe9">subscribedKeys</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The keys that should be currently subscribed to. <a href="#a6b07417f7e024f8dac5b3b327383dbe9"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a6e41ed2ec544fc16bd399d8fbcec46ed">values</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A cache of values already received from the plugin. <a href="#a6e41ed2ec544fc16bd399d8fbcec46ed"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Connects to a group of properties via the help of a plugin. </p>
+<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>
+<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. </p>
+<hr/><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="a18f291fc00e50055a02525f70e38a52b"></a><!-- doxytag: member="ContextSubscriber::Provider::PluginState" ref="a18f291fc00e50055a02525f70e38a52b" 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#a18f291fc00e50055a02525f70e38a52b">ContextSubscriber::Provider::PluginState</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46"></a><!-- doxytag: member="INITIALIZING" ref="a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46" args="" -->INITIALIZING</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1"></a><!-- doxytag: member="READY" ref="a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1" args="" -->READY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f"></a><!-- doxytag: member="FAILED" ref="a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f" args="" -->FAILED</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae4221b5f1438404820abee8de2ed3daa"></a><!-- doxytag: member="ContextSubscriber::Provider::Provider" ref="ae4221b5f1438404820abee8de2ed3daa" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae2569ebe40afb18160eccc699574e3c7"></a><!-- doxytag: member="ContextSubscriber::Provider::clearValues" ref="ae2569ebe40afb18160eccc699574e3c7" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void ContextSubscriber::Provider::clearValues </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Clears the cached values for this provider. </p>
+<p>This is used when the provider instance is (re)connected to the commander. </p>
+
+</div>
+</div>
+<a class="anchor" id="a1e2136dc7c4ad62b020c7ed95914bb67"></a><!-- doxytag: member="ContextSubscriber::Provider::constructPlugin" ref="a1e2136dc7c4ad62b020c7ed95914bb67" 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>
+<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). </p>
+
+</div>
+</div>
+<a class="anchor" id="a34d90db9ddc691d2b687bcbeabb65d7e"></a><!-- doxytag: member="ContextSubscriber::Provider::get" ref="a34d90db9ddc691d2b687bcbeabb65d7e" 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">
+
+</div>
+</div>
+<a class="anchor" id="ab78d5f8ff72bedb037f1f2b15cbda9b9"></a><!-- doxytag: member="ContextSubscriber::Provider::handleSubscribes" ref="ab78d5f8ff72bedb037f1f2b15cbda9b9" 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>
+<a class="anchor" id="acf3f43a824c33ffaf349feeb9c34b5d0"></a><!-- doxytag: member="ContextSubscriber::Provider::instance" ref="acf3f43a824c33ffaf349feeb9c34b5d0" 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>
+<a class="anchor" id="a0b9a9637b9bdd8a3989cfccb14c8a24b"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginFailed" ref="a0b9a9637b9bdd8a3989cfccb14c8a24b" 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>
+<a class="anchor" id="ac87916df512014e5048eda7ae9daf3b9"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginReady" ref="ac87916df512014e5048eda7ae9daf3b9" 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>
+<a class="anchor" id="ad18a07fdfb76dfa71f15f4b3e1200793"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginSubscribeFailed" ref="ad18a07fdfb76dfa71f15f4b3e1200793" 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>
+<a class="anchor" id="aaa59472d6205931482b4ed7461a40221"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginSubscribeFinished" ref="aaa59472d6205931482b4ed7461a40221" args="(QString key, TimedValue value)" -->
+<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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&nbsp;</td>
+ <td class="paramname"> <em>value</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>. </p>
+
+</div>
+</div>
+<a class="anchor" id="acbbadf63086f6b37ff9a9e8e64180032"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginSubscribeFinished" ref="acbbadf63086f6b37ff9a9e8e64180032" 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>Deprecated. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2188eca4feb6c3f5bf585c38d6c56463"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginValueChanged" ref="a2188eca4feb6c3f5bf585c38d6c56463" args="(QString key, TimedValue 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"><a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>&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>
+<a class="anchor" id="ac04c071faa737c9b7f029ef0125f6a1c"></a><!-- doxytag: member="ContextSubscriber::Provider::onPluginValueChanged" ref="ac04c071faa737c9b7f029ef0125f6a1c" 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>Deprecated: plugins should use the variant taking a <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>. </p>
+<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>
+<a class="anchor" id="a3046efee2679aa33602deb4f27877eba"></a><!-- doxytag: member="ContextSubscriber::Provider::signalSubscribeFinished" ref="a3046efee2679aa33602deb4f27877eba" 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>
+<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>. </p>
+
+</div>
+</div>
+<a class="anchor" id="a063cf90bfd10f0bca4ed471f2c3a9c1e"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribe" ref="a063cf90bfd10f0bca4ed471f2c3a9c1e" 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>
+<p>Returns true if and only if the main loop has to run for the subscription to be finalized. </p>
+
+</div>
+</div>
+<a class="anchor" id="afd4795579900229d0710f2a1a707df16"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribeFinished" ref="afd4795579900229d0710f2a1a707df16" args="(Provider *provider, 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"><a class="el" href="class_context_subscriber_1_1_provider.html">Provider</a> *&nbsp;</td>
+ <td class="paramname"> <em>provider</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>key</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">
+
+</div>
+</div>
+<a class="anchor" id="aa6aa042d4a006eb0930d7805139e801f"></a><!-- doxytag: member="ContextSubscriber::Provider::unsubscribe" ref="aa6aa042d4a006eb0930d7805139e801f" 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>
+<a class="anchor" id="a6288252eecf25f879ecb7c1a507a9088"></a><!-- doxytag: member="ContextSubscriber::Provider::valueChanged" ref="a6288252eecf25f879ecb7c1a507a9088" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a620db59b31c197b98ee64369fd46b30e"></a><!-- doxytag: member="ContextSubscriber::Provider::plugin" ref="a620db59b31c197b98ee64369fd46b30e" 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#a620db59b31c197b98ee64369fd46b30e">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>
+<a class="anchor" id="a904cca899aba13b6d356fea73737169e"></a><!-- doxytag: member="ContextSubscriber::Provider::pluginState" ref="a904cca899aba13b6d356fea73737169e" 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#a18f291fc00e50055a02525f70e38a52b">PluginState</a> <a class="el" href="class_context_subscriber_1_1_provider.html#a904cca899aba13b6d356fea73737169e">ContextSubscriber::Provider::pluginState</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6e8a91f8a673fb8f2f645212844eb421"></a><!-- doxytag: member="ContextSubscriber::Provider::providerInfo" ref="a6e8a91f8a673fb8f2f645212844eb421" 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#a6e8a91f8a673fb8f2f645212844eb421">ContextSubscriber::Provider::providerInfo</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Parameters used to initialize the plugin. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6b07417f7e024f8dac5b3b327383dbe9"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribedKeys" ref="a6b07417f7e024f8dac5b3b327383dbe9" 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#a6b07417f7e024f8dac5b3b327383dbe9">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>
+<a class="anchor" id="a154fa6041cd471ac46c1038f312ffde6"></a><!-- doxytag: member="ContextSubscriber::Provider::subscribeLock" ref="a154fa6041cd471ac46c1038f312ffde6" 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#a154fa6041cd471ac46c1038f312ffde6">ContextSubscriber::Provider::subscribeLock</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acbf130166861d576d906fc99da9b2d6d"></a><!-- doxytag: member="ContextSubscriber::Provider::toSubscribe" ref="acbf130166861d576d906fc99da9b2d6d" 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#acbf130166861d576d906fc99da9b2d6d">ContextSubscriber::Provider::toSubscribe</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Keys pending for subscription. </p>
+
+</div>
+</div>
+<a class="anchor" id="aee2cca89bff8d2bc65039a42cb32563c"></a><!-- doxytag: member="ContextSubscriber::Provider::toUnsubscribe" ref="aee2cca89bff8d2bc65039a42cb32563c" 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#aee2cca89bff8d2bc65039a42cb32563c">ContextSubscriber::Provider::toUnsubscribe</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Keys pending for unsubscription. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6e41ed2ec544fc16bd399d8fbcec46ed"></a><!-- doxytag: member="ContextSubscriber::Provider::values" ref="a6e41ed2ec544fc16bd399d8fbcec46ed" 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#a6e41ed2ec544fc16bd399d8fbcec46ed">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>
+<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>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+<li><a class="el" href="provider_8cpp.html">provider.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..25c35e8e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ac786085eae3605b42b0e7f3cda99fe32">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#aea2e2e6956a76f58083214bbb327a04c">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#ab58352ea20647142ba50d529fc1b651b">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#a9e3fb1afd2eea8cb4b588f3d80bf2e3e">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#a15135b7f30c409e3b8d0cd856444803a">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#a431ca591c990aa22bffb1cfed4b42aff">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b0966898
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_queued_invoker.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A class that can invoke its own methods in a delayed way.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a9e3fb1afd2eea8cb4b588f3d80bf2e3e">queuedCall</a> (const char *method)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a15135b7f30c409e3b8d0cd856444803a">QueuedInvoker</a> ()</td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a431ca591c990aa22bffb1cfed4b42aff">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="#a431ca591c990aa22bffb1cfed4b42aff"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ab58352ea20647142ba50d529fc1b651b">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="#ab58352ea20647142ba50d529fc1b651b"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QMutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_queued_invoker.html#aea2e2e6956a76f58083214bbb327a04c">callQueueLock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Protects the callQueue. <a href="#aea2e2e6956a76f58083214bbb327a04c"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ac786085eae3605b42b0e7f3cda99fe32">callQueue</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Methods to be invoked. <a href="#ac786085eae3605b42b0e7f3cda99fe32"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A class that can invoke its own methods in a delayed way. </p>
+<p>Via the method <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a431ca591c990aa22bffb1cfed4b42aff" 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>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a15135b7f30c409e3b8d0cd856444803a"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::QueuedInvoker" ref="a15135b7f30c409e3b8d0cd856444803a" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab58352ea20647142ba50d529fc1b651b"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::onQueuedCall" ref="ab58352ea20647142ba50d529fc1b651b" 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>
+<p>Calls all the methods in the queue. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9e3fb1afd2eea8cb4b588f3d80bf2e3e"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::queuedCall" ref="a9e3fb1afd2eea8cb4b588f3d80bf2e3e" 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">
+
+</div>
+</div>
+<a class="anchor" id="a431ca591c990aa22bffb1cfed4b42aff"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::queueOnce" ref="a431ca591c990aa22bffb1cfed4b42aff" 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>
+<p>If the method was already in the queue, it won't be inserted again. </p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ac786085eae3605b42b0e7f3cda99fe32"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::callQueue" ref="ac786085eae3605b42b0e7f3cda99fe32" 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#ac786085eae3605b42b0e7f3cda99fe32">ContextSubscriber::QueuedInvoker::callQueue</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Methods to be invoked. </p>
+
+</div>
+</div>
+<a class="anchor" id="aea2e2e6956a76f58083214bbb327a04c"></a><!-- doxytag: member="ContextSubscriber::QueuedInvoker::callQueueLock" ref="aea2e2e6956a76f58083214bbb327a04c" 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#aea2e2e6956a76f58083214bbb327a04c">ContextSubscriber::QueuedInvoker::callQueueLock</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Protects the callQueue. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+<li><a class="el" href="queuedinvoker_8cpp.html">queuedinvoker.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1f5bf668
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface-members.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#aaf5cbaccd8318fd13389b2da11b03e7c">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#a1c7ee2c99941a60bc1a3d43aa794063b">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#a9f726b29f65d7340ac2df345cf462c66">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#a6ebfcf76e474281993e681afb15975c9">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#a913f90d59398e97fbb363c84b0d3c403">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#a20de105eef3bdd1de40708536a7f4238">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#a5405b720d8596ab0abbc2ce817a61b14">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#aa9b18edfb5899e8884a1c3c7c7d5caff">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#ada9126ec7363321f97124a4edc6553ec">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#a0e99f03c74e942caed4a12013771a4d2">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#a1705fc2b48624313ef52f279ede97e5b">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#a87e096c9a1ecfb1453d29722731fbb51">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#a7acaf30ea27426e6aa00207e0310980c">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#a4227c404be7915805dbab93e0704914d">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#a960dc79d9b47fbbda16e6eed05826c5d">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6f6dab11
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_subscriber_1_1_subscriber_interface.html
@@ -0,0 +1,415 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p><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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a960dc79d9b47fbbda16e6eed05826c5d">valuesChanged</a> (QMap&lt; QString, QVariant &gt; values)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a1705fc2b48624313ef52f279ede97e5b">subscribeFinished</a> (QList&lt; QString &gt; keys)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a0e99f03c74e942caed4a12013771a4d2">subscribeFailed</a> (QList&lt; QString &gt; keys, QString error)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#aaf5cbaccd8318fd13389b2da11b03e7c">Changed</a> (const QMap&lt; QString, QVariant &gt; &amp;values, const QStringList &amp;unknownKeys)</td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a87e096c9a1ecfb1453d29722731fbb51">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="#a87e096c9a1ecfb1453d29722731fbb51"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#ada9126ec7363321f97124a4edc6553ec">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="#ada9126ec7363321f97124a4edc6553ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a4227c404be7915805dbab93e0704914d">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="#a4227c404be7915805dbab93e0704914d"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a1c7ee2c99941a60bc1a3d43aa794063b">connectNotify</a> (const char *signal)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9f726b29f65d7340ac2df345cf462c66">disconnectNotify</a> (const char *signal)</td></tr>
+<tr><td colspan="2"><h2>Static Protected Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#a6ebfcf76e474281993e681afb15975c9">interfaceName</a> = &quot;org.freedesktop.ContextKit.Subscriber&quot;</td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a5405b720d8596ab0abbc2ce817a61b14">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="#a5405b720d8596ab0abbc2ce817a61b14"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a20de105eef3bdd1de40708536a7f4238">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="#a20de105eef3bdd1de40708536a7f4238"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a7acaf30ea27426e6aa00207e0310980c">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" 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#aa9b18edfb5899e8884a1c3c7c7d5caff">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" 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#a913f90d59398e97fbb363c84b0d3c403">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="#a913f90d59398e97fbb363c84b0d3c403"></a><br/></td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a87e096c9a1ecfb1453d29722731fbb51"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::SubscriberInterface" ref="a87e096c9a1ecfb1453d29722731fbb51" 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>
+<p>Connects to the DBus object specified by <em>busType</em> (session or system bus), <em>busName</em> and <em>objectPath</em>. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7acaf30ea27426e6aa00207e0310980c"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::SubscriberInterface" ref="a7acaf30ea27426e6aa00207e0310980c" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aaf5cbaccd8318fd13389b2da11b03e7c"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::Changed" ref="aaf5cbaccd8318fd13389b2da11b03e7c" 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">
+
+</div>
+</div>
+<a class="anchor" id="a1c7ee2c99941a60bc1a3d43aa794063b"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::connectNotify" ref="a1c7ee2c99941a60bc1a3d43aa794063b" 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">
+
+</div>
+</div>
+<a class="anchor" id="a9f726b29f65d7340ac2df345cf462c66"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::disconnectNotify" ref="a9f726b29f65d7340ac2df345cf462c66" 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">
+
+</div>
+</div>
+<a class="anchor" id="a913f90d59398e97fbb363c84b0d3c403"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::mergeNullsWithMap" ref="a913f90d59398e97fbb363c84b0d3c403" 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>
+<a class="anchor" id="a20de105eef3bdd1de40708536a7f4238"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::onChanged" ref="a20de105eef3bdd1de40708536a7f4238" 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>
+<a class="anchor" id="a5405b720d8596ab0abbc2ce817a61b14"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::onSubscribeFinished" ref="a5405b720d8596ab0abbc2ce817a61b14" 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>
+<p>Emits the signal valuesChanged with the return values of the subscribed keys. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa9b18edfb5899e8884a1c3c7c7d5caff"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::operator=" ref="aa9b18edfb5899e8884a1c3c7c7d5caff" 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">
+
+</div>
+</div>
+<a class="anchor" id="ada9126ec7363321f97124a4edc6553ec"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::subscribe" ref="ada9126ec7363321f97124a4edc6553ec" 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>
+<a class="anchor" id="a0e99f03c74e942caed4a12013771a4d2"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::subscribeFailed" ref="a0e99f03c74e942caed4a12013771a4d2" 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">
+
+</div>
+</div>
+<a class="anchor" id="a1705fc2b48624313ef52f279ede97e5b"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::subscribeFinished" ref="a1705fc2b48624313ef52f279ede97e5b" 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">
+
+</div>
+</div>
+<a class="anchor" id="a4227c404be7915805dbab93e0704914d"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::unsubscribe" ref="a4227c404be7915805dbab93e0704914d" 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>
+<a class="anchor" id="a960dc79d9b47fbbda16e6eed05826c5d"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::valuesChanged" ref="a960dc79d9b47fbbda16e6eed05826c5d" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a6ebfcf76e474281993e681afb15975c9"></a><!-- doxytag: member="ContextSubscriber::SubscriberInterface::interfaceName" ref="a6ebfcf76e474281993e681afb15975c9" 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#a6ebfcf76e474281993e681afb15975c9">SubscriberInterface::interfaceName</a> = &quot;org.freedesktop.ContextKit.Subscriber&quot;<code> [static, protected]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+<li><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_type_info-members.html b/libcontextsubscriber/doc/html/class_context_type_info-members.html
new file mode 100644
index 00000000..3a01425d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_type_info-members.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextTypeInfo Member List</h1>This is the complete list of members for <a class="el" href="class_context_type_info.html">ContextTypeInfo</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>()</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab92ec35b4f33539e0a63716600e61b88">AssocTree</a>(const QVariant &amp;root)</td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">base</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ab426acb27dff6915268f08f639f4c639">ContextTypeInfo</a>(const AssocTree &amp;tree)</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">ContextTypeInfo</a>(const QVariant &amp;tree)</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a>()</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef">definition</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">doc</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">dump</a>(int level=0) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0">ensureNewTypes</a>()</td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">name</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593">node</a>(const QString &amp;name) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a56c5c190fd1bc330815d530eba81190a">node</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a511793ffc1dd3838837104892314c109">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ab4b6e11b9aefa354e392b2971869dfa4">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a1ff303816cce9076cf453866ed4fff24">node</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">nodes</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">parameterDoc</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">parameterNode</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">parameters</a>() const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">parameterValue</a>(QString p) const </td><td><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">value</a>() const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#ae396650bfb964d4aa4535af0b63ac488">value</a>(const QString &amp;name1) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a556e85ecc5ebaa14e7e141703ba4d7a5">value</a>(const QString &amp;name1, const QString &amp;name2) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a34737a631a9fe5595424d84a7ce706e6">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a87c206613662c98e1978df031aed2625">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_assoc_tree.html#a564cde83c39440dfdae5f9915c615b22">value</a>(const QString &amp;name1, const QString &amp;name2, const QString &amp;name3, const QString &amp;name4, const QString &amp;name5) const </td><td><a class="el" href="class_assoc_tree.html">AssocTree</a></td><td></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_type_info.html b/libcontextsubscriber/doc/html/class_context_type_info.html
new file mode 100644
index 00000000..68a52073
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_type_info.html
@@ -0,0 +1,282 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: ContextTypeInfo 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextTypeInfo Class Reference</h1><!-- doxytag: class="ContextTypeInfo" --><!-- doxytag: inherits="AssocTree" -->
+<p><code>#include &lt;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a>&gt;</code></p>
+
+<p><a href="class_context_type_info-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#ab426acb27dff6915268f08f639f4c639">ContextTypeInfo</a> (const <a class="el" href="class_assoc_tree.html">AssocTree</a> &amp;tree)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">ContextTypeInfo</a> (const QVariant &amp;tree)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0">ensureNewTypes</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a ContexTypeInfo where old-style type names (INTEGER, STRING, BOOL) are replaced with new-style type names (integer, string, bool). <a href="#ab6666873c5aae3244784a8e69748b4d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">name</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of this association tree. <a href="#a94c21d0d11ef748f965b9cc4fe102b02"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariantList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">parameters</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">parameterValue</a> (QString p) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">parameterNode</a> (QString p) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef">definition</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="class_assoc_tree.html">AssocTree</a> with the type definition for this type. <a href="#a4accf5b9acaa99aa35cedb59b83bebef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">parameterDoc</a> (QString p) const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">doc</a> () const </td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">base</a> () const </td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab426acb27dff6915268f08f639f4c639"></a><!-- doxytag: member="ContextTypeInfo::ContextTypeInfo" ref="ab426acb27dff6915268f08f639f4c639" args="(const AssocTree &amp;tree)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextTypeInfo::ContextTypeInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_assoc_tree.html">AssocTree</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>tree</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9524118935d0e3a7fe7b940e70dfa421"></a><!-- doxytag: member="ContextTypeInfo::ContextTypeInfo" ref="a9524118935d0e3a7fe7b940e70dfa421" args="(const QVariant &amp;tree)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextTypeInfo::ContextTypeInfo </td>
+ <td>(</td>
+ <td class="paramtype">const QVariant &amp;&nbsp;</td>
+ <td class="paramname"> <em>tree</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae8d1906dff90f43abfaeb610977bd98a"></a><!-- doxytag: member="ContextTypeInfo::ContextTypeInfo" ref="ae8d1906dff90f43abfaeb610977bd98a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextTypeInfo::ContextTypeInfo </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a86ef420ba51f5a877b3536f5cf3f2b34"></a><!-- doxytag: member="ContextTypeInfo::base" ref="a86ef420ba51f5a877b3536f5cf3f2b34" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> ContextTypeInfo::base </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4accf5b9acaa99aa35cedb59b83bebef"></a><!-- doxytag: member="ContextTypeInfo::definition" ref="a4accf5b9acaa99aa35cedb59b83bebef" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> ContextTypeInfo::definition </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the <a class="el" href="class_assoc_tree.html">AssocTree</a> with the type definition for this type. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad2ab665b4620fef60762a50b782b0413"></a><!-- doxytag: member="ContextTypeInfo::doc" ref="ad2ab665b4620fef60762a50b782b0413" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextTypeInfo::doc </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab6666873c5aae3244784a8e69748b4d0"></a><!-- doxytag: member="ContextTypeInfo::ensureNewTypes" ref="ab6666873c5aae3244784a8e69748b4d0" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> ContextTypeInfo::ensureNewTypes </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a ContexTypeInfo where old-style type names (INTEGER, STRING, BOOL) are replaced with new-style type names (integer, string, bool). </p>
+<p>Returns self if the <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> is already new-style. </p>
+
+</div>
+</div>
+<a class="anchor" id="a94c21d0d11ef748f965b9cc4fe102b02"></a><!-- doxytag: member="ContextTypeInfo::name" ref="a94c21d0d11ef748f965b9cc4fe102b02" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextTypeInfo::name </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the name of this association tree. </p>
+
+<p>Reimplemented from <a class="el" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8">AssocTree</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7d917636b33732b5dd67d12629351fb2"></a><!-- doxytag: member="ContextTypeInfo::parameterDoc" ref="a7d917636b33732b5dd67d12629351fb2" args="(QString p) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextTypeInfo::parameterDoc </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ef996f1ec0c38b83abd32633ea0c479"></a><!-- doxytag: member="ContextTypeInfo::parameterNode" ref="a5ef996f1ec0c38b83abd32633ea0c479" args="(QString p) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> ContextTypeInfo::parameterNode </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acce878cdfdb716d781355c8e0ba743b6"></a><!-- doxytag: member="ContextTypeInfo::parameters" ref="acce878cdfdb716d781355c8e0ba743b6" args="() const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariantList ContextTypeInfo::parameters </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5e08eb37916c317cff4314cd51caba34"></a><!-- doxytag: member="ContextTypeInfo::parameterValue" ref="a5e08eb37916c317cff4314cd51caba34" args="(QString p) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant ContextTypeInfo::parameterValue </td>
+ <td>(</td>
+ <td class="paramtype">QString&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a></li>
+<li><a class="el" href="contexttypeinfo_8cpp.html">contexttypeinfo.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_type_registry_info-members.html b/libcontextsubscriber/doc/html/class_context_type_registry_info-members.html
new file mode 100644
index 00000000..d402f9cd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_type_registry_info-members.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextTypeRegistryInfo Member List</h1>This is the complete list of members for <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a1ed1dabebbe6336324f5e6c9a031c185">ContextTypeRegistryInfo</a>()</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a5344c1f657439f0c240e1cf8df9f9743">ContextTypeRegistryInfo</a>(const ContextTypeRegistryInfo &amp;)</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#ac8de3e69b61de37a62ff1e706adcad18">ContextTypeRegistryInfoUnitTest</a> class</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [friend]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798">coreTree</a></td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a1fe24a4cdfc689ceee6f713b3fe2124a">coreTypesPath</a>()</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a5c2ab7a27488ddcb0d486904b37b4e02">instance</a>()</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#aed28e0db18d12acc7ac5cc996c34f2f3">operator=</a>(const ContextTypeRegistryInfo &amp;)</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83">registryInstance</a></td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [private, static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a988d768b9a8fd1dc46db67d2d7af563d">registryPath</a>()</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">typeCache</a></td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="class_context_type_registry_info.html#a20121b701a3d3293e99804ca5841d36e">typeDefinitionForName</a>(QString name)</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td><td></td></tr>
+</table></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/class_context_type_registry_info.html b/libcontextsubscriber/doc/html/class_context_type_registry_info.html
new file mode 100644
index 00000000..9a56d4a9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_type_registry_info.html
@@ -0,0 +1,284 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: ContextTypeRegistryInfo 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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>ContextTypeRegistryInfo Class Reference</h1><!-- doxytag: class="ContextTypeRegistryInfo" -->
+<p>A class to access the type registry.
+<a href="#_details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="contexttyperegistryinfo_8h_source.html">contexttyperegistryinfo.h</a>&gt;</code></p>
+
+<p><a href="class_context_type_registry_info-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a988d768b9a8fd1dc46db67d2d7af563d">registryPath</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the registry directory. <a href="#a988d768b9a8fd1dc46db67d2d7af563d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a1fe24a4cdfc689ceee6f713b3fe2124a">coreTypesPath</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the core property declaration file. <a href="#a1fe24a4cdfc689ceee6f713b3fe2124a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a20121b701a3d3293e99804ca5841d36e">typeDefinitionForName</a> (QString name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a type definition for the type with the given name. <a href="#a20121b701a3d3293e99804ca5841d36e"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a5c2ab7a27488ddcb0d486904b37b4e02">instance</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the singleton instance of the <a class="el" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>. <a href="#a5c2ab7a27488ddcb0d486904b37b4e02"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a1ed1dabebbe6336324f5e6c9a031c185">ContextTypeRegistryInfo</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor. Do not use. <a href="#a1ed1dabebbe6336324f5e6c9a031c185"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a5344c1f657439f0c240e1cf8df9f9743">ContextTypeRegistryInfo</a> (const <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private constructor. Do not use. <a href="#a5344c1f657439f0c240e1cf8df9f9743"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#aed28e0db18d12acc7ac5cc996c34f2f3">operator=</a> (const <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private operator. Do not use. <a href="#aed28e0db18d12acc7ac5cc996c34f2f3"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798">coreTree</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The core.types as <a class="el" href="class_assoc_tree.html">AssocTree</a>. Read on construction. <a href="#ab8412d6fdc61f2a6bf33370f23b9d798"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QHash&lt; QString, <a class="el" href="class_assoc_tree.html">AssocTree</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">typeCache</a></td></tr>
+<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83">registryInstance</a> = NULL</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the actual pointer to the singleton instance. <a href="#a8a076bbf240be4a82fd98770c1927d83"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html#ac8de3e69b61de37a62ff1e706adcad18">ContextTypeRegistryInfoUnitTest</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A class to access the type registry. </p>
+<p>This is a singelton class used to obtain information about the core types defined in the type registry. Information is provided as type definitions returned as <a class="el" href="class_assoc_tree.html">AssocTree</a> instances. Each type definition is a QVariant tree wrapped in <a class="el" href="class_assoc_tree.html">AssocTree</a> for easy helper key accessors.</p>
+<h2><a class="anchor" id="Usage">
+Usage</a></h2>
+<p>To obtain a type definition for a given type:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="class_assoc_tree.html">AssocTree</a> typeDefinition = <a class="code" href="class_context_type_registry_info.html#a5c2ab7a27488ddcb0d486904b37b4e02" title="Returns the singleton instance of the ContextTypeRegistryInfo.">ContextTypeRegistryInfo::instance</a>()-&gt;<a class="code" href="class_context_type_registry_info.html#a20121b701a3d3293e99804ca5841d36e" title="Returns a type definition for the type with the given name.">typeDefinitionForName</a>(<span class="stringliteral">&quot;string-enum&quot;</span>);
+</pre></div><p>Unless you're building a dedicated type-introspection application, you don't want to deal with <a class="el" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a> directly. Instead, you can use the <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> class to fetch concrete types and use the easy accessors provided there. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1ed1dabebbe6336324f5e6c9a031c185"></a><!-- doxytag: member="ContextTypeRegistryInfo::ContextTypeRegistryInfo" ref="a1ed1dabebbe6336324f5e6c9a031c185" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextTypeRegistryInfo::ContextTypeRegistryInfo </td>
+ <td>(</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>
+<a class="anchor" id="a5344c1f657439f0c240e1cf8df9f9743"></a><!-- doxytag: member="ContextTypeRegistryInfo::ContextTypeRegistryInfo" ref="a5344c1f657439f0c240e1cf8df9f9743" args="(const ContextTypeRegistryInfo &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextTypeRegistryInfo::ContextTypeRegistryInfo </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a1fe24a4cdfc689ceee6f713b3fe2124a"></a><!-- doxytag: member="ContextTypeRegistryInfo::coreTypesPath" ref="a1fe24a4cdfc689ceee6f713b3fe2124a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextTypeRegistryInfo::coreTypesPath </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the full path to the core property declaration file. </p>
+<p>Takes the <code>CONTEXT_CORE_TYPES</code> env variable into account. </p>
+
+</div>
+</div>
+<a class="anchor" id="a5c2ab7a27488ddcb0d486904b37b4e02"></a><!-- doxytag: member="ContextTypeRegistryInfo::instance" ref="a5c2ab7a27488ddcb0d486904b37b4e02" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> * ContextTypeRegistryInfo::instance </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 singleton instance of the <a class="el" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>. </p>
+<p>The object is constructed automaticall on first access. </p>
+
+</div>
+</div>
+<a class="anchor" id="aed28e0db18d12acc7ac5cc996c34f2f3"></a><!-- doxytag: member="ContextTypeRegistryInfo::operator=" ref="aed28e0db18d12acc7ac5cc996c34f2f3" args="(const ContextTypeRegistryInfo &amp;)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a>&amp; ContextTypeRegistryInfo::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</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>
+<a class="anchor" id="a988d768b9a8fd1dc46db67d2d7af563d"></a><!-- doxytag: member="ContextTypeRegistryInfo::registryPath" ref="a988d768b9a8fd1dc46db67d2d7af563d" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString ContextTypeRegistryInfo::registryPath </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the full path to the registry directory. </p>
+<p>Takes the <code>CONTEXT_TYPES</code> env variable into account. </p>
+
+</div>
+</div>
+<a class="anchor" id="a20121b701a3d3293e99804ca5841d36e"></a><!-- doxytag: member="ContextTypeRegistryInfo::typeDefinitionForName" ref="a20121b701a3d3293e99804ca5841d36e" args="(QString name)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> ContextTypeRegistryInfo::typeDefinitionForName </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>Returns a type definition for the type with the given name. </p>
+<p>The type is being fetched from the registry. </p>
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ac8de3e69b61de37a62ff1e706adcad18"></a><!-- doxytag: member="ContextTypeRegistryInfo::ContextTypeRegistryInfoUnitTest" ref="ac8de3e69b61de37a62ff1e706adcad18" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">friend class ContextTypeRegistryInfoUnitTest<code> [friend]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ab8412d6fdc61f2a6bf33370f23b9d798"></a><!-- doxytag: member="ContextTypeRegistryInfo::coreTree" ref="ab8412d6fdc61f2a6bf33370f23b9d798" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> <a class="el" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798">ContextTypeRegistryInfo::coreTree</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The core.types as <a class="el" href="class_assoc_tree.html">AssocTree</a>. Read on construction. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8a076bbf240be4a82fd98770c1927d83"></a><!-- doxytag: member="ContextTypeRegistryInfo::registryInstance" ref="a8a076bbf240be4a82fd98770c1927d83" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a> * <a class="el" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83">ContextTypeRegistryInfo::registryInstance</a> = NULL<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Holds the actual pointer to the singleton instance. </p>
+<p>Mutex protected during creation. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7800d06cfcdcb9e6862f4bdf4729a3e5"></a><!-- doxytag: member="ContextTypeRegistryInfo::typeCache" ref="a7800d06cfcdcb9e6862f4bdf4729a3e5" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QHash&lt;QString, <a class="el" href="class_assoc_tree.html">AssocTree</a>&gt; <a class="el" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">ContextTypeRegistryInfo::typeCache</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="contexttyperegistryinfo_8h_source.html">contexttyperegistryinfo.h</a></li>
+<li><a class="el" href="contexttyperegistryinfo_8cpp.html">contexttyperegistryinfo.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..78450b8c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_zero_logger-members.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">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#aae39e44e016d29a07bd076470bc171bb">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..8460abf6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_context_zero_logger.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>A fake logging class.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Does nothing. <a href="#a95e0d40b90ed9c3f360067a3dadaa0c7"></a><br/></td></tr>
+<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr><td class="memTemplItemLeft" 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#aae39e44e016d29a07bd076470bc171bb">operator&lt;&lt;</a> (const T &amp;)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does nothing. <a href="#aae39e44e016d29a07bd076470bc171bb"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>A fake logging class. </p>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a95e0d40b90ed9c3f360067a3dadaa0c7"></a><!-- doxytag: member="ContextZeroLogger::ContextZeroLogger" ref="a95e0d40b90ed9c3f360067a3dadaa0c7" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aae39e44e016d29a07bd076470bc171bb"></a><!-- doxytag: member="ContextZeroLogger::operator&lt;&lt;" ref="aae39e44e016d29a07bd076470bc171bb" 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>
+<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></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..03319f06
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_backend-members.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#af56386ab44960a7646b5a2585688c8d8">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#ad770d30f718c8110a6e14371293829b9">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#a26dea7269e293f178ca7a855bd8085eb">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#a2229c5a5b2c85b50746497bed16735c2">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#a463dc4b191efca9c44035cb52798e0af">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#ab0db0c312a540b4b6d49c434c8cf64bd">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#ae8204b17f82806015d23088f8c6776da">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#a4800fc55302f0c049c11ce3a93a204d3">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#af90947cb65d219d1f703683a471f649d">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#a4b9aafee7309b9e3a82eb3ca99ca173f">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#a9a4973dbc3ed8a08af2cc60e39d1e455">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#a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">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#a84aa2becdb5d27499636a31d69e66683">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#ad3b9d468ea4d158bc8f3a258ab5d72be">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#a53ddc2857121c7ec9f2e1205ea05802f">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#a0fa89bc3c8483b7168bf136420b43fa4">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#a905a056999dd60bfa46a1cc023ee9066">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#a7c627815ff574b54ecd60191468fcc94">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#a3962e7c993113bf00ac4fa983109aa52">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#a4ff58350a0f16796b0704353f554d303">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#a159354ed05ba53b30feb861362c97ecd">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#acdad993095c6538cd80cdd418a09fd63">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#aabad9b345fa7dda6c4b3630a5afda245">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#aebe6133efbd7ee2a8c70afe44cdb06e4">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#ab982301f28a9655255683ad66c8f0c95">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#afa40871167e96ccc256e33b79a628ed3">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#a90791486e0755836a52ff3f59279dc95">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#a29733f7d3ba8bf62a932eae5b851d2f8">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#a96772d269c583b286607aad334efba94">typeInfoForKey</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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..db18a88f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_backend.html
@@ -0,0 +1,686 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>An abstract (pure virtual) singleton class that represents the actual registry backend.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Signals</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#acdad993095c6538cd80cdd418a09fd63">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="#acdad993095c6538cd80cdd418a09fd63"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a159354ed05ba53b30feb861362c97ecd">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="#a159354ed05ba53b30feb861362c97ecd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#aabad9b345fa7dda6c4b3630a5afda245">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="#aabad9b345fa7dda6c4b3630a5afda245"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a3962e7c993113bf00ac4fa983109aa52">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="#a3962e7c993113bf00ac4fa983109aa52"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#aebe6133efbd7ee2a8c70afe44cdb06e4">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="#aebe6133efbd7ee2a8c70afe44cdb06e4"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#afa40871167e96ccc256e33b79a628ed3">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="#afa40871167e96ccc256e33b79a628ed3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#ab982301f28a9655255683ad66c8f0c95">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="#ab982301f28a9655255683ad66c8f0c95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a96772d269c583b286607aad334efba94">typeInfoForKey</a> (QString key) const =0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type information for the given <em>key</em>. <a href="#a96772d269c583b286607aad334efba94"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#af90947cb65d219d1f703683a471f649d">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="#af90947cb65d219d1f703683a471f649d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a4ff58350a0f16796b0704353f554d303">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="#a4ff58350a0f16796b0704353f554d303"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a29733f7d3ba8bf62a932eae5b851d2f8">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="#a29733f7d3ba8bf62a932eae5b851d2f8"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a7c627815ff574b54ecd60191468fcc94">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="#a7c627815ff574b54ecd60191468fcc94"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#ab0db0c312a540b4b6d49c434c8cf64bd">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="#ab0db0c312a540b4b6d49c434c8cf64bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a4800fc55302f0c049c11ce3a93a204d3">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="#a4800fc55302f0c049c11ce3a93a204d3"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a4b9aafee7309b9e3a82eb3ca99ca173f">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="#a4b9aafee7309b9e3a82eb3ca99ca173f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a9a4973dbc3ed8a08af2cc60e39d1e455">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="#a9a4973dbc3ed8a08af2cc60e39d1e455"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a26dea7269e293f178ca7a855bd8085eb">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="#a26dea7269e293f178ca7a855bd8085eb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a2229c5a5b2c85b50746497bed16735c2">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="#a2229c5a5b2c85b50746497bed16735c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#ad770d30f718c8110a6e14371293829b9">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="#ad770d30f718c8110a6e14371293829b9"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a90791486e0755836a52ff3f59279dc95">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="#a90791486e0755836a52ff3f59279dc95"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#ae8204b17f82806015d23088f8c6776da">destroyInstance</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before the application is destroyed. <a href="#ae8204b17f82806015d23088f8c6776da"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a463dc4b191efca9c44035cb52798e0af">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="#a463dc4b191efca9c44035cb52798e0af"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#af56386ab44960a7646b5a2585688c8d8">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="#af56386ab44960a7646b5a2585688c8d8"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Friends</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a0fa89bc3c8483b7168bf136420b43fa4">InfoXmlBackend</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a84aa2becdb5d27499636a31d69e66683">InfoCdbBackend</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a53ddc2857121c7ec9f2e1205ea05802f">InfoTestBackend</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a905a056999dd60bfa46a1cc023ee9066">InfoXmlBackendUnitTest</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#ad3b9d468ea4d158bc8f3a258ab5d72be">InfoCdbBackendUnitTest</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_backend.html#a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackendUnitTest</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>An abstract (pure virtual) singleton class that represents the actual registry backend. </p>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4b9aafee7309b9e3a82eb3ca99ca173f"></a><!-- doxytag: member="InfoBackend::InfoBackend" ref="a4b9aafee7309b9e3a82eb3ca99ca173f" 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>
+<a class="anchor" id="a9a4973dbc3ed8a08af2cc60e39d1e455"></a><!-- doxytag: member="InfoBackend::InfoBackend" ref="a9a4973dbc3ed8a08af2cc60e39d1e455" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ad770d30f718c8110a6e14371293829b9"></a><!-- doxytag: member="InfoBackend::checkAndEmitKeyChanged" ref="ad770d30f718c8110a6e14371293829b9" 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>
+<a class="anchor" id="a26dea7269e293f178ca7a855bd8085eb"></a><!-- doxytag: member="InfoBackend::checkAndEmitKeysAdded" ref="a26dea7269e293f178ca7a855bd8085eb" 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>
+<p>To be removed in future. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2229c5a5b2c85b50746497bed16735c2"></a><!-- doxytag: member="InfoBackend::checkAndEmitKeysRemoved" ref="a2229c5a5b2c85b50746497bed16735c2" 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>
+<p>To be removed in future. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab0db0c312a540b4b6d49c434c8cf64bd"></a><!-- doxytag: member="InfoBackend::connectNotify" ref="ab0db0c312a540b4b6d49c434c8cf64bd" 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>
+<a class="anchor" id="ae8204b17f82806015d23088f8c6776da"></a><!-- doxytag: member="InfoBackend::destroyInstance" ref="ae8204b17f82806015d23088f8c6776da" 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>
+<p>Deletes the backend instance. This is to ensure that the QFileSystemWatcher in backends gets deleted before the application terminates (otherwise weird issues follow). </p>
+
+</div>
+</div>
+<a class="anchor" id="a4800fc55302f0c049c11ce3a93a204d3"></a><!-- doxytag: member="InfoBackend::disconnectNotify" ref="a4800fc55302f0c049c11ce3a93a204d3" 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>
+<a class="anchor" id="af90947cb65d219d1f703683a471f649d"></a><!-- doxytag: member="InfoBackend::docForKey" ref="af90947cb65d219d1f703683a471f649d" 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#a96b65379f588dc602406449012a9ceae">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#a3b0753cd69c99c2fe188e7fd912a072a">InfoXmlBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7c627815ff574b54ecd60191468fcc94"></a><!-- doxytag: member="InfoBackend::instance" ref="a7c627815ff574b54ecd60191468fcc94" 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>
+<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'. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3962e7c993113bf00ac4fa983109aa52"></a><!-- doxytag: member="InfoBackend::keyChanged" ref="a3962e7c993113bf00ac4fa983109aa52" 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>
+<a class="anchor" id="a4ff58350a0f16796b0704353f554d303"></a><!-- doxytag: member="InfoBackend::keyDeclared" ref="a4ff58350a0f16796b0704353f554d303" 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#a79ee60153f6d7113ee7c454495ed3d87">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#a34f0f40564466e150f433aced83af71a">InfoXmlBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a159354ed05ba53b30feb861362c97ecd"></a><!-- doxytag: member="InfoBackend::keysAdded" ref="a159354ed05ba53b30feb861362c97ecd" 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>
+<a class="anchor" id="acdad993095c6538cd80cdd418a09fd63"></a><!-- doxytag: member="InfoBackend::keysChanged" ref="acdad993095c6538cd80cdd418a09fd63" 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>
+<a class="anchor" id="aabad9b345fa7dda6c4b3630a5afda245"></a><!-- doxytag: member="InfoBackend::keysRemoved" ref="aabad9b345fa7dda6c4b3630a5afda245" 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>
+<a class="anchor" id="aebe6133efbd7ee2a8c70afe44cdb06e4"></a><!-- doxytag: member="InfoBackend::listChanged" ref="aebe6133efbd7ee2a8c70afe44cdb06e4" 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>
+<a class="anchor" id="ab982301f28a9655255683ad66c8f0c95"></a><!-- doxytag: member="InfoBackend::listKeys" ref="ab982301f28a9655255683ad66c8f0c95" 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#a16a29a2335e21a73b8317d23eadb3069">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#a74d2b52119a26ca60203ecf86721e38c">InfoXmlBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa40871167e96ccc256e33b79a628ed3"></a><!-- doxytag: member="InfoBackend::name" ref="afa40871167e96ccc256e33b79a628ed3" 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#a98707e9504d1719000fec1d31de01174">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#a83ac8d65786de855c402b426222ab72b">InfoXmlBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a90791486e0755836a52ff3f59279dc95"></a><!-- doxytag: member="InfoBackend::operator=" ref="a90791486e0755836a52ff3f59279dc95" 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>
+<a class="anchor" id="a29733f7d3ba8bf62a932eae5b851d2f8"></a><!-- doxytag: member="InfoBackend::providersForKey" ref="a29733f7d3ba8bf62a932eae5b851d2f8" 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#ac28d61755c842e1226fbd4e44f69a040">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#af72852cc9ec862658d2be1d59be536c0">InfoXmlBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a96772d269c583b286607aad334efba94"></a><!-- doxytag: member="InfoBackend::typeInfoForKey" ref="a96772d269c583b286607aad334efba94" args="(QString key) const =0" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">virtual <a class="el" href="class_context_type_info.html">ContextTypeInfo</a> InfoBackend::typeInfoForKey </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 type information for the given <em>key</em>. </p>
+
+<p>Implemented in <a class="el" href="class_info_cdb_backend.html#af81a9d1966feeae616445587e4b18de4">InfoCdbBackend</a>, and <a class="el" href="class_info_xml_backend.html#ae2ffd838ca91a653ea2f18cfa35c8799">InfoXmlBackend</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6"></a><!-- doxytag: member="InfoBackend::InfoBackendUnitTest" ref="a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6" 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">
+
+</div>
+</div>
+<a class="anchor" id="a84aa2becdb5d27499636a31d69e66683"></a><!-- doxytag: member="InfoBackend::InfoCdbBackend" ref="a84aa2becdb5d27499636a31d69e66683" 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">
+
+</div>
+</div>
+<a class="anchor" id="ad3b9d468ea4d158bc8f3a258ab5d72be"></a><!-- doxytag: member="InfoBackend::InfoCdbBackendUnitTest" ref="ad3b9d468ea4d158bc8f3a258ab5d72be" 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">
+
+</div>
+</div>
+<a class="anchor" id="a53ddc2857121c7ec9f2e1205ea05802f"></a><!-- doxytag: member="InfoBackend::InfoTestBackend" ref="a53ddc2857121c7ec9f2e1205ea05802f" 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">
+
+</div>
+</div>
+<a class="anchor" id="a0fa89bc3c8483b7168bf136420b43fa4"></a><!-- doxytag: member="InfoBackend::InfoXmlBackend" ref="a0fa89bc3c8483b7168bf136420b43fa4" 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">
+
+</div>
+</div>
+<a class="anchor" id="a905a056999dd60bfa46a1cc023ee9066"></a><!-- doxytag: member="InfoBackend::InfoXmlBackendUnitTest" ref="a905a056999dd60bfa46a1cc023ee9066" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="af56386ab44960a7646b5a2585688c8d8"></a><!-- doxytag: member="InfoBackend::backendInstance" ref="af56386ab44960a7646b5a2585688c8d8" 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#af56386ab44960a7646b5a2585688c8d8">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>
+<a class="anchor" id="a463dc4b191efca9c44035cb52798e0af"></a><!-- doxytag: member="InfoBackend::connectCount" ref="a463dc4b191efca9c44035cb52798e0af" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_info_backend.html#a463dc4b191efca9c44035cb52798e0af">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>
+<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>
+<li><a class="el" href="infobackend_8cpp.html">infobackend.cpp</a></li>
+<li><a class="el" href="mocs_8cpp.html">mocs.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ce90c208
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_cdb_backend-members.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#ab0db0c312a540b4b6d49c434c8cf64bd">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#a2ec440b4df1e409e6cf74f5fd514fb6c">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#a99e18dd002d2fdf388914721eb53599f">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#a1a31a6076fc78a72e0bc00135d110fa2">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#a4800fc55302f0c049c11ce3a93a204d3">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#a96b65379f588dc602406449012a9ceae">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#a8e31c8ded7f1620ab626d17f23bf3042">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#a7c627815ff574b54ecd60191468fcc94">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#a3962e7c993113bf00ac4fa983109aa52">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#a79ee60153f6d7113ee7c454495ed3d87">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#a159354ed05ba53b30feb861362c97ecd">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#acdad993095c6538cd80cdd418a09fd63">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#aabad9b345fa7dda6c4b3630a5afda245">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#aebe6133efbd7ee2a8c70afe44cdb06e4">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#a16a29a2335e21a73b8317d23eadb3069">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#a98707e9504d1719000fec1d31de01174">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#a9a95be7eb4456ff22f28a37fd5eb1945">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#a809ba5fe86160dd85c3221b91f480a8d">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#ac28d61755c842e1226fbd4e44f69a040">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#ac58abb26efac881051ae758d57aa3738">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#af81a9d1966feeae616445587e4b18de4">typeInfoForKey</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#a8d422f8e80ad4feb74620c6dd793cefd">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#af9a982a33f464a0579357fbc53e3305c">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#ab3f82f73e8f0c453716cfe0142b19d45">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..215b8619
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_cdb_backend.html
@@ -0,0 +1,405 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a> (QObject *parent=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a98707e9504d1719000fec1d31de01174">name</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 'cdb'. <a href="#a98707e9504d1719000fec1d31de01174"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a16a29a2335e21a73b8317d23eadb3069">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="#a16a29a2335e21a73b8317d23eadb3069"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a96b65379f588dc602406449012a9ceae">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="#a96b65379f588dc602406449012a9ceae"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a79ee60153f6d7113ee7c454495ed3d87">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="#a79ee60153f6d7113ee7c454495ed3d87"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ac28d61755c842e1226fbd4e44f69a040">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="#ac28d61755c842e1226fbd4e44f69a040"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#af81a9d1966feeae616445587e4b18de4">typeInfoForKey</a> (QString key) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type information for the given <em>key</em>. <a href="#af81a9d1966feeae616445587e4b18de4"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a2ec440b4df1e409e6cf74f5fd514fb6c">databaseDirectory</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the database directory. <a href="#a2ec440b4df1e409e6cf74f5fd514fb6c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a1a31a6076fc78a72e0bc00135d110fa2">databasePath</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the database. <a href="#a1a31a6076fc78a72e0bc00135d110fa2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a99e18dd002d2fdf388914721eb53599f">databaseExists</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the database file is present. <a href="#a99e18dd002d2fdf388914721eb53599f"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a809ba5fe86160dd85c3221b91f480a8d">onDatabaseFileChanged</a> (const QString &amp;path)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when the database changes. <a href="#a809ba5fe86160dd85c3221b91f480a8d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a9a95be7eb4456ff22f28a37fd5eb1945">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="#a9a95be7eb4456ff22f28a37fd5eb1945"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#af9a982a33f464a0579357fbc53e3305c">watch</a> ()</td></tr>
+<tr><td colspan="2"><h2>Static Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#a8d422f8e80ad4feb74620c6dd793cefd">variantListToStringList</a> (const QVariantList &amp;l)</td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QFileSystemWatcher&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_cdb_backend.html#ab3f82f73e8f0c453716cfe0142b19d45">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="#ab3f82f73e8f0c453716cfe0142b19d45"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#ac58abb26efac881051ae758d57aa3738">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="#ac58abb26efac881051ae758d57aa3738"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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>
+<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. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a8e31c8ded7f1620ab626d17f23bf3042"></a><!-- doxytag: member="InfoCdbBackend::InfoCdbBackend" ref="a8e31c8ded7f1620ab626d17f23bf3042" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a2ec440b4df1e409e6cf74f5fd514fb6c"></a><!-- doxytag: member="InfoCdbBackend::databaseDirectory" ref="a2ec440b4df1e409e6cf74f5fd514fb6c" 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>
+<p>Takes the <code>CONTEXT_PROVIDERS</code> env variable into account. </p>
+
+</div>
+</div>
+<a class="anchor" id="a99e18dd002d2fdf388914721eb53599f"></a><!-- doxytag: member="InfoCdbBackend::databaseExists" ref="a99e18dd002d2fdf388914721eb53599f" 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>
+<a class="anchor" id="a1a31a6076fc78a72e0bc00135d110fa2"></a><!-- doxytag: member="InfoCdbBackend::databasePath" ref="a1a31a6076fc78a72e0bc00135d110fa2" 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>
+<p>Takes the <code>CONTEXT_PROVIDERS</code> env variable into account. </p>
+
+</div>
+</div>
+<a class="anchor" id="a96b65379f588dc602406449012a9ceae"></a><!-- doxytag: member="InfoCdbBackend::docForKey" ref="a96b65379f588dc602406449012a9ceae" 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#af90947cb65d219d1f703683a471f649d">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a79ee60153f6d7113ee7c454495ed3d87"></a><!-- doxytag: member="InfoCdbBackend::keyDeclared" ref="a79ee60153f6d7113ee7c454495ed3d87" 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#a4ff58350a0f16796b0704353f554d303">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a16a29a2335e21a73b8317d23eadb3069"></a><!-- doxytag: member="InfoCdbBackend::listKeys" ref="a16a29a2335e21a73b8317d23eadb3069" 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#ab982301f28a9655255683ad66c8f0c95">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a98707e9504d1719000fec1d31de01174"></a><!-- doxytag: member="InfoCdbBackend::name" ref="a98707e9504d1719000fec1d31de01174" 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#afa40871167e96ccc256e33b79a628ed3">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9a95be7eb4456ff22f28a37fd5eb1945"></a><!-- doxytag: member="InfoCdbBackend::onDatabaseDirectoryChanged" ref="a9a95be7eb4456ff22f28a37fd5eb1945" 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>
+<p>We start to observe this directory only when we don't have the cache.db in the first place. </p>
+
+</div>
+</div>
+<a class="anchor" id="a809ba5fe86160dd85c3221b91f480a8d"></a><!-- doxytag: member="InfoCdbBackend::onDatabaseFileChanged" ref="a809ba5fe86160dd85c3221b91f480a8d" 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>
+<p>Reopens the database and emits the change signals. If database does not exist it bails out but keeps observing. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac28d61755c842e1226fbd4e44f69a040"></a><!-- doxytag: member="InfoCdbBackend::providersForKey" ref="ac28d61755c842e1226fbd4e44f69a040" 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#a29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af81a9d1966feeae616445587e4b18de4"></a><!-- doxytag: member="InfoCdbBackend::typeInfoForKey" ref="af81a9d1966feeae616445587e4b18de4" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> InfoCdbBackend::typeInfoForKey </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 type information for the given <em>key</em>. </p>
+
+<p>Implements <a class="el" href="class_info_backend.html#a96772d269c583b286607aad334efba94">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d422f8e80ad4feb74620c6dd793cefd"></a><!-- doxytag: member="InfoCdbBackend::variantListToStringList" ref="a8d422f8e80ad4feb74620c6dd793cefd" 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">
+
+</div>
+</div>
+<a class="anchor" id="af9a982a33f464a0579357fbc53e3305c"></a><!-- doxytag: member="InfoCdbBackend::watch" ref="af9a982a33f464a0579357fbc53e3305c" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ac58abb26efac881051ae758d57aa3738"></a><!-- doxytag: member="InfoCdbBackend::reader" ref="ac58abb26efac881051ae758d57aa3738" 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#ac58abb26efac881051ae758d57aa3738">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>
+<a class="anchor" id="ab3f82f73e8f0c453716cfe0142b19d45"></a><!-- doxytag: member="InfoCdbBackend::watcher" ref="ab3f82f73e8f0c453716cfe0142b19d45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QFileSystemWatcher <a class="el" href="class_info_cdb_backend.html#ab3f82f73e8f0c453716cfe0142b19d45">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>
+<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>
+<li><a class="el" href="infocdbbackend_8cpp.html">infocdbbackend.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c09eb629
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_xml_backend-members.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_info_backend.html#ab0db0c312a540b4b6d49c434c8cf64bd">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#ae919a19ac7fc38f60048b900d49c41d5">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#ac61fad8518de174500caaaa278bf1672">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#a4800fc55302f0c049c11ce3a93a204d3">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#a3b0753cd69c99c2fe188e7fd912a072a">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#a85f5bb72b4841d7012ff63bd7627f2d0">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#a7c627815ff574b54ecd60191468fcc94">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#a3962e7c993113bf00ac4fa983109aa52">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#a60f512bdb81310502e5d80c2b738d513">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#a34f0f40564466e150f433aced83af71a">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#a6bc7baa201268651c5203c8ddf9f1eef">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#a159354ed05ba53b30feb861362c97ecd">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#acdad993095c6538cd80cdd418a09fd63">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#aabad9b345fa7dda6c4b3630a5afda245">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#aebe6133efbd7ee2a8c70afe44cdb06e4">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#a74d2b52119a26ca60203ecf86721e38c">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#a83ac8d65786de855c402b426222ab72b">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#aedf432bc14783ab4e9f2858a088e0643">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#ab2155f5c965bc1249987f6ae942d004b">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#a59c6595edec886fd70a451102196ea5c">parseKey</a>(const AssocTree &amp;keyTree, const AssocTree &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#af72852cc9ec862658d2be1d59be536c0">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#ab5d85a566993462042838c786700f7f8">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#a1407eccac5cb06f88fc6014d4ee25f48">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#aeba0f378c01b6740c53ea977c10947b0">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#ae2ffd838ca91a653ea2f18cfa35c8799">typeInfoForKey</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#a6ed00727580f66f06f33ecdb2a7581e7">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..72e50df4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_info_xml_backend.html
@@ -0,0 +1,456 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a> (QObject *parent=0)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a83ac8d65786de855c402b426222ab72b">name</a> () const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 'xml'. <a href="#a83ac8d65786de855c402b426222ab72b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QStringList&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a74d2b52119a26ca60203ecf86721e38c">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="#a74d2b52119a26ca60203ecf86721e38c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a3b0753cd69c99c2fe188e7fd912a072a">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="#a3b0753cd69c99c2fe188e7fd912a072a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a34f0f40564466e150f433aced83af71a">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="#a34f0f40564466e150f433aced83af71a"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#af72852cc9ec862658d2be1d59be536c0">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="#af72852cc9ec862658d2be1d59be536c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#ae2ffd838ca91a653ea2f18cfa35c8799">typeInfoForKey</a> (QString key) const </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type information for the given <em>key</em>. <a href="#ae2ffd838ca91a653ea2f18cfa35c8799"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#aeba0f378c01b6740c53ea977c10947b0">registryPath</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full path to the registry directory. <a href="#aeba0f378c01b6740c53ea977c10947b0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#ae919a19ac7fc38f60048b900d49c41d5">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="#ae919a19ac7fc38f60048b900d49c41d5"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Slots</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#aedf432bc14783ab4e9f2858a088e0643">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="#aedf432bc14783ab4e9f2858a088e0643"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#ab2155f5c965bc1249987f6ae942d004b">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="#ab2155f5c965bc1249987f6ae942d004b"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a1407eccac5cb06f88fc6014d4ee25f48">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="#a1407eccac5cb06f88fc6014d4ee25f48"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#ab5d85a566993462042838c786700f7f8">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="#ab5d85a566993462042838c786700f7f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a59c6595edec886fd70a451102196ea5c">parseKey</a> (const <a class="el" href="class_assoc_tree.html">AssocTree</a> &amp;keyTree, const <a class="el" href="class_assoc_tree.html">AssocTree</a> &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="#a59c6595edec886fd70a451102196ea5c"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QFileSystemWatcher&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#a6ed00727580f66f06f33ecdb2a7581e7">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="#a6ed00727580f66f06f33ecdb2a7581e7"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a60f512bdb81310502e5d80c2b738d513">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="#a60f512bdb81310502e5d80c2b738d513"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#a6bc7baa201268651c5203c8ddf9f1eef">keyProvidersHash</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This hash contains providers for keys. <a href="#a6bc7baa201268651c5203c8ddf9f1eef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_xml_backend.html#ac61fad8518de174500caaaa278bf1672">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="#ac61fad8518de174500caaaa278bf1672"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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>
+<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>. </p>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a85f5bb72b4841d7012ff63bd7627f2d0"></a><!-- doxytag: member="InfoXmlBackend::InfoXmlBackend" ref="a85f5bb72b4841d7012ff63bd7627f2d0" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae919a19ac7fc38f60048b900d49c41d5"></a><!-- doxytag: member="InfoXmlBackend::coreDeclPath" ref="ae919a19ac7fc38f60048b900d49c41d5" 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>
+<p>Takes the <code>CONTEXT_CORE_DECLARATIONS</code> env variable into account. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3b0753cd69c99c2fe188e7fd912a072a"></a><!-- doxytag: member="InfoXmlBackend::docForKey" ref="a3b0753cd69c99c2fe188e7fd912a072a" 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#af90947cb65d219d1f703683a471f649d">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a34f0f40564466e150f433aced83af71a"></a><!-- doxytag: member="InfoXmlBackend::keyDeclared" ref="a34f0f40564466e150f433aced83af71a" 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#a4ff58350a0f16796b0704353f554d303">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a74d2b52119a26ca60203ecf86721e38c"></a><!-- doxytag: member="InfoXmlBackend::listKeys" ref="a74d2b52119a26ca60203ecf86721e38c" 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#ab982301f28a9655255683ad66c8f0c95">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a83ac8d65786de855c402b426222ab72b"></a><!-- doxytag: member="InfoXmlBackend::name" ref="a83ac8d65786de855c402b426222ab72b" 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#afa40871167e96ccc256e33b79a628ed3">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aedf432bc14783ab4e9f2858a088e0643"></a><!-- doxytag: member="InfoXmlBackend::onDirectoryChanged" ref="aedf432bc14783ab4e9f2858a088e0643" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab2155f5c965bc1249987f6ae942d004b"></a><!-- doxytag: member="InfoXmlBackend::onFileChanged" ref="ab2155f5c965bc1249987f6ae942d004b" 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>
+<p>This triggers a whole registry rebuild + signal emissions. </p>
+
+</div>
+</div>
+<a class="anchor" id="a59c6595edec886fd70a451102196ea5c"></a><!-- doxytag: member="InfoXmlBackend::parseKey" ref="a59c6595edec886fd70a451102196ea5c" args="(const AssocTree &amp;keyTree, const AssocTree &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 <a class="el" href="class_assoc_tree.html">AssocTree</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>keyTree</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="class_assoc_tree.html">AssocTree</a> &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>
+<a class="anchor" id="af72852cc9ec862658d2be1d59be536c0"></a><!-- doxytag: member="InfoXmlBackend::providersForKey" ref="af72852cc9ec862658d2be1d59be536c0" 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#a29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab5d85a566993462042838c786700f7f8"></a><!-- doxytag: member="InfoXmlBackend::readKeyDataFromXml" ref="ab5d85a566993462042838c786700f7f8" 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>
+<p>Also adds the file to the watcher (starts observing it). </p>
+
+</div>
+</div>
+<a class="anchor" id="a1407eccac5cb06f88fc6014d4ee25f48"></a><!-- doxytag: member="InfoXmlBackend::regenerateKeyDataList" ref="a1407eccac5cb06f88fc6014d4ee25f48" 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>
+<a class="anchor" id="aeba0f378c01b6740c53ea977c10947b0"></a><!-- doxytag: member="InfoXmlBackend::registryPath" ref="aeba0f378c01b6740c53ea977c10947b0" 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>
+<p>Takes the <code>CONTEXT_PROVIDERS</code> env variable into account. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae2ffd838ca91a653ea2f18cfa35c8799"></a><!-- doxytag: member="InfoXmlBackend::typeInfoForKey" ref="ae2ffd838ca91a653ea2f18cfa35c8799" args="(QString key) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> InfoXmlBackend::typeInfoForKey </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 type information for the given <em>key</em>. </p>
+
+<p>Implements <a class="el" href="class_info_backend.html#a96772d269c583b286607aad334efba94">InfoBackend</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ac61fad8518de174500caaaa278bf1672"></a><!-- doxytag: member="InfoXmlBackend::countOfFilesInLastParse" ref="ac61fad8518de174500caaaa278bf1672" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="class_info_xml_backend.html#ac61fad8518de174500caaaa278bf1672">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>
+<a class="anchor" id="a60f512bdb81310502e5d80c2b738d513"></a><!-- doxytag: member="InfoXmlBackend::keyDataHash" ref="a60f512bdb81310502e5d80c2b738d513" 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#a60f512bdb81310502e5d80c2b738d513">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>
+<a class="anchor" id="a6bc7baa201268651c5203c8ddf9f1eef"></a><!-- doxytag: member="InfoXmlBackend::keyProvidersHash" ref="a6bc7baa201268651c5203c8ddf9f1eef" 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#a6bc7baa201268651c5203c8ddf9f1eef">InfoXmlBackend::keyProvidersHash</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>This hash contains providers for keys. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6ed00727580f66f06f33ecdb2a7581e7"></a><!-- doxytag: member="InfoXmlBackend::watcher" ref="a6ed00727580f66f06f33ecdb2a7581e7" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QFileSystemWatcher <a class="el" href="class_info_xml_backend.html#a6ed00727580f66f06f33ecdb2a7581e7">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>
+<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>
+<li><a class="el" href="infoxmlbackend_8cpp.html">infoxmlbackend.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..307efbe8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_nano_xml-members.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_nano_xml.html#a0820f7cc298465a54350f998af40d929">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#ad051fdc20099f73a6595cb229e5c5854">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#abfef8deeba2c746ee63ae4f1e64f7551">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#ab5729afbebfb708cab217298891fe31b">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#ae2884ebc5e4c6e60c2419ab47fb05d37">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#a4d517f665a6ffe310ba89b94f5252295">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#aae6e7c0a8785f75cb06abb27c348833b">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#a6bba582991cf13e4af332ae999f650e0">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#a80322fd3991316e0c5d9e42dbc024a21">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#adb05786203f23b7a96ee1db103582729">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#a750f872971e1b36ecffc4ead3250e17d">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#a452fbcd08e639557de164fbf6e9af265">result</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#a2e0c55cb00dfdfcb09191b685c9c7624">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#afec8c67035475122807dfacfcd0c3563">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#a9a53418260e9b9ae8bc3da9b0fae2b35">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#abb825f9876e40c023c0b3b1ab0b09828">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#a940fbfce7d0fab29a5ba6b5b840c4d71">~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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..128510e6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_nano_xml.html
@@ -0,0 +1,471 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>Parses XML files into an association tree, which serves as a nano document object model.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a6bba582991cf13e4af332ae999f650e0">NanoXml</a> (const QString &amp;path)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a6bba582991cf13e4af332ae999f650e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a940fbfce7d0fab29a5ba6b5b840c4d71">~NanoXml</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#a940fbfce7d0fab29a5ba6b5b840c4d71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#aae6e7c0a8785f75cb06abb27c348833b">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="#aae6e7c0a8785f75cb06abb27c348833b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#ab5729afbebfb708cab217298891fe31b">didFail</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if parsing failed. <a href="#ab5729afbebfb708cab217298891fe31b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a9a53418260e9b9ae8bc3da9b0fae2b35">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="#a9a53418260e9b9ae8bc3da9b0fae2b35"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#ae2884ebc5e4c6e60c2419ab47fb05d37">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="#ae2884ebc5e4c6e60c2419ab47fb05d37"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#abb825f9876e40c023c0b3b1ab0b09828">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="#abb825f9876e40c023c0b3b1ab0b09828"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#ad051fdc20099f73a6595cb229e5c5854">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="#ad051fdc20099f73a6595cb229e5c5854"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a452fbcd08e639557de164fbf6e9af265">result</a> ()</td></tr>
+<tr><td colspan="2"><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a750f872971e1b36ecffc4ead3250e17d">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="#a750f872971e1b36ecffc4ead3250e17d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a0820f7cc298465a54350f998af40d929">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="#a0820f7cc298465a54350f998af40d929"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#adb05786203f23b7a96ee1db103582729">popList</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parser internal. <a href="#adb05786203f23b7a96ee1db103582729"></a><br/></td></tr>
+<tr><td colspan="2"><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a2e0c55cb00dfdfcb09191b685c9c7624">rootVariant</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The root variant. Created at the end of parsing. <a href="#a2e0c55cb00dfdfcb09191b685c9c7624"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QList&lt; QVariant &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#abfef8deeba2c746ee63ae4f1e64f7551">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="#abfef8deeba2c746ee63ae4f1e64f7551"></a><br/></td></tr>
+<tr><td class="memItemLeft" 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#afec8c67035475122807dfacfcd0c3563">stack</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The stack of lists. <a href="#afec8c67035475122807dfacfcd0c3563"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a4d517f665a6ffe310ba89b94f5252295">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="#a4d517f665a6ffe310ba89b94f5252295"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nano_xml.html#a80322fd3991316e0c5d9e42dbc024a21">nspace</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores the namespace uri. <a href="#a80322fd3991316e0c5d9e42dbc024a21"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Parses XML files into an association tree, which serves as a nano document object model. </p>
+<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 nano dom please read the documentation on the desktop types.</p>
+<p>Short overview - the following XML is being turned into the following tree structure:</p>
+<div class="fragment"><pre class="fragment"> &lt;key name=<span class="stringliteral">&quot;Example.Random&quot;</span> type=<span class="stringliteral">&quot;string&quot;</span>&gt;
+ &lt;doc&gt;A random <span class="keyword">property</span>.&lt;/doc&gt;
+ &lt;/key&gt;
+
+ [<span class="stringliteral">&apos;key&apos;</span>,
+ [<span class="stringliteral">&apos;name&apos;</span>, <span class="stringliteral">&apos;Example.Random&apos;</span> ],
+ [<span class="stringliteral">&apos;type&apos;</span>, <span class="stringliteral">&apos;string&apos;</span> ],
+ [<span class="stringliteral">&apos;doc&apos;</span>, <span class="stringliteral">&apos;A random property.&apos;</span>]
+ ]
+</pre></div><p>Another example:</p>
+<div class="fragment"><pre class="fragment"> &lt;key name=<span class="stringliteral">&quot;Example.Random&quot;</span>&gt;
+ &lt;type&gt;
+ &lt;list type=<span class="stringliteral">&quot;number&quot;</span>/&gt;
+ &lt;/type&gt;
+ &lt;/key&gt;
+
+ [<span class="stringliteral">&apos;key&apos;</span>,
+ [<span class="stringliteral">&apos;name&apos;</span>, <span class="stringliteral">&apos;Example.Random&apos;</span> ],
+ [<span class="stringliteral">&apos;type&apos;</span>,
+ [<span class="stringliteral">&apos;list&apos;</span>, [<span class="stringliteral">&apos;type&apos;</span>, <span class="stringliteral">&apos;number&apos;</span> ] ]
+ ]
+ ]
+</pre></div> <hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6bba582991cf13e4af332ae999f650e0"></a><!-- doxytag: member="NanoXml::NanoXml" ref="a6bba582991cf13e4af332ae999f650e0" 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>
+<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. </p>
+
+</div>
+</div>
+<a class="anchor" id="a940fbfce7d0fab29a5ba6b5b840c4d71"></a><!-- doxytag: member="NanoXml::~NanoXml" ref="a940fbfce7d0fab29a5ba6b5b840c4d71" 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>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="a0820f7cc298465a54350f998af40d929"></a><!-- doxytag: member="NanoXml::addValue" ref="a0820f7cc298465a54350f998af40d929" 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>
+<a class="anchor" id="ad051fdc20099f73a6595cb229e5c5854"></a><!-- doxytag: member="NanoXml::characters" ref="ad051fdc20099f73a6595cb229e5c5854" 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>
+<a class="anchor" id="ab5729afbebfb708cab217298891fe31b"></a><!-- doxytag: member="NanoXml::didFail" ref="ab5729afbebfb708cab217298891fe31b" 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>
+<p>Fals otherwise. Use it to check if the nanodom tree is fine and usable. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae2884ebc5e4c6e60c2419ab47fb05d37"></a><!-- doxytag: member="NanoXml::endElement" ref="ae2884ebc5e4c6e60c2419ab47fb05d37" 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>
+<a class="anchor" id="aae6e7c0a8785f75cb06abb27c348833b"></a><!-- doxytag: member="NanoXml::namespaceUri" ref="aae6e7c0a8785f75cb06abb27c348833b" 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>
+<p>Empty if it wasn't specified. </p>
+
+</div>
+</div>
+<a class="anchor" id="adb05786203f23b7a96ee1db103582729"></a><!-- doxytag: member="NanoXml::popList" ref="adb05786203f23b7a96ee1db103582729" 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>
+<p>Pops one list from the stack. Closes the list and attaches it to the previoius list on the stack. </p>
+
+</div>
+</div>
+<a class="anchor" id="a750f872971e1b36ecffc4ead3250e17d"></a><!-- doxytag: member="NanoXml::pushList" ref="a750f872971e1b36ecffc4ead3250e17d" 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>
+<a class="anchor" id="a452fbcd08e639557de164fbf6e9af265"></a><!-- doxytag: member="NanoXml::result" ref="a452fbcd08e639557de164fbf6e9af265" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_assoc_tree.html">AssocTree</a> NanoXml::result </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9a53418260e9b9ae8bc3da9b0fae2b35"></a><!-- doxytag: member="NanoXml::startElement" ref="a9a53418260e9b9ae8bc3da9b0fae2b35" 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>
+<a class="anchor" id="abb825f9876e40c023c0b3b1ab0b09828"></a><!-- doxytag: member="NanoXml::startPrefixMapping" ref="abb825f9876e40c023c0b3b1ab0b09828" 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>
+<p>We use this to get the xml version. </p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="abfef8deeba2c746ee63ae4f1e64f7551"></a><!-- doxytag: member="NanoXml::current" ref="abfef8deeba2c746ee63ae4f1e64f7551" 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#abfef8deeba2c746ee63ae4f1e64f7551">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>
+<a class="anchor" id="a4d517f665a6ffe310ba89b94f5252295"></a><!-- doxytag: member="NanoXml::failed" ref="a4d517f665a6ffe310ba89b94f5252295" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="class_nano_xml.html#a4d517f665a6ffe310ba89b94f5252295">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>
+<a class="anchor" id="a80322fd3991316e0c5d9e42dbc024a21"></a><!-- doxytag: member="NanoXml::nspace" ref="a80322fd3991316e0c5d9e42dbc024a21" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="class_nano_xml.html#a80322fd3991316e0c5d9e42dbc024a21">NanoXml::nspace</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Stores the namespace uri. </p>
+
+</div>
+</div>
+<a class="anchor" id="a2e0c55cb00dfdfcb09191b685c9c7624"></a><!-- doxytag: member="NanoXml::rootVariant" ref="a2e0c55cb00dfdfcb09191b685c9c7624" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant <a class="el" href="class_nano_xml.html#a2e0c55cb00dfdfcb09191b685c9c7624">NanoXml::rootVariant</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The root variant. Created at the end of parsing. </p>
+
+</div>
+</div>
+<a class="anchor" id="afec8c67035475122807dfacfcd0c3563"></a><!-- doxytag: member="NanoXml::stack" ref="afec8c67035475122807dfacfcd0c3563" 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#afec8c67035475122807dfacfcd0c3563">NanoXml::stack</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The stack of lists. </p>
+
+</div>
+</div>
+<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>
+<li><a class="el" href="nanoxml_8cpp.html">nanoxml.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..356b9e5b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher-members.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="class_safe_d_bus_pending_call_watcher.html#a42bd0855e807cce5477ea61f4f094526">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6d6a9c49
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_safe_d_bus_pending_call_watcher.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>Deletes itself after the <code>finished()</code> signal is emitted (and the mainloop entered).
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_safe_d_bus_pending_call_watcher.html#a42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a> (const QDBusPendingCall &amp;call, QObject *parent=0)</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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" id="a42bd0855e807cce5477ea61f4f094526"></a><!-- doxytag: member="SafeDBusPendingCallWatcher::SafeDBusPendingCallWatcher" ref="a42bd0855e807cce5477ea61f4f094526" 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">
+
+</div>
+</div>
+<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></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..484a312b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_subscriber_interface.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Proxy class for using the DBus interface org.freedesktop.ContextKit.Subscriber asynchronously. </p>
+<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. </p>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..8e4556c4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/class_subscriber_signalling_interface.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Proxy class for the DBus interface org.freedesktop.ContextKit.Subscriber which connects automatically to the Changed signal over DBus. </p>
+<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. </p>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="subscriberinterface_8cpp.html">subscriberinterface.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/classes.html b/libcontextsubscriber/doc/html/classes.html
new file mode 100644
index 00000000..17c5fe5a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/classes.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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><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>
+<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.html">ContextProperty</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="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></tr><tr><td><a class="el" href="class_assoc_tree.html">AssocTree</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_property_info.html">ContextPropertyInfo</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_context_subscriber_1_1_i_provider_plugin.html">IProviderPlugin</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</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><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_d_bus_name_listener.html">DBusNameListener</a> (<a class="el" href="namespace_context_subscriber.html">ContextSubscriber</a>)&nbsp;&nbsp;&nbsp;</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 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_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 class="el" href="class_nano_xml.html">NanoXml</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_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_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 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_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 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 class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">PendingSubscribeWatcher</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_string_enum_info.html">ContextStringEnumInfo</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 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 class="el" href="class_context_type_info.html">ContextTypeInfo</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="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_list_info.html">ContextListInfo</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</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></tr></table><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>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f0becbaf
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextkitplugin_8cpp.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;QDBusPendingCall&gt;</code><br/>
+<code>#include &lt;QTimer&gt;</code><br/>
+<code>#include &lt;QDBusPendingReply&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a70307658405a252817d4081fd82eabe9">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="#a70307658405a252817d4081fd82eabe9"></a><br/></td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a70307658405a252817d4081fd82eabe9"></a><!-- doxytag: member="contextkitplugin.cpp::contextKitPluginFactory" ref="a70307658405a252817d4081fd82eabe9" 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>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..cea3fd37
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextkitplugin_8h.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="el" href="timedvalue_8h_source.html">timedvalue.h</a>&quot;</code><br/>
+<code>#include &lt;QString&gt;</code><br/>
+<code>#include &lt;QDBusConnection&gt;</code><br/>
+<code>#include &lt;QDBusPendingCallWatcher&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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" 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#a70307658405a252817d4081fd82eabe9">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="#a70307658405a252817d4081fd82eabe9"></a><br/></td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a70307658405a252817d4081fd82eabe9"></a><!-- doxytag: member="contextkitplugin.h::contextKitPluginFactory" ref="a70307658405a252817d4081fd82eabe9" 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>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ac4769f1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextkitplugin_8h_source.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="dbusnamelistener_8h.html">dbusnamelistener.h</a>&quot;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;<a class="code" href="subscriberinterface_8h.html">subscriberinterface.h</a>&quot;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;<a class="code" href="provider_8h.html">provider.h</a>&quot;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include &quot;<a class="code" href="iproviderplugin_8h.html">iproviderplugin.h</a>&quot;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="asyncdbusinterface_8h.html">asyncdbusinterface.h</a>&quot;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="timedvalue_8h.html">timedvalue.h</a>&quot;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;QString&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;QDBusPendingCallWatcher&gt;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;QDBusObjectPath&gt;</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;QVariant&gt;</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;QMap&gt;</span>
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
+<a name="l00040"></a>00040 <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#a70307658405a252817d4081fd82eabe9" title="Creates a new instance, the service to connect to has to be passed in constructionString...">contextKitPluginFactory</a>(QString constructionString);
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">namespace </span>ContextSubscriber {
+<a name="l00044"></a><a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">00044</a> <span class="keyword">class </span><a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">PendingSubscribeWatcher</a> : <span class="keyword">public</span> QDBusPendingCallWatcher
+<a name="l00045"></a>00045 {
+<a name="l00046"></a>00046 Q_OBJECT;
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">public</span>:
+<a name="l00049"></a>00049 <a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a21b61bbfe9a39063f7b653fee7899943">PendingSubscribeWatcher</a>(<span class="keyword">const</span> QDBusPendingCall &amp;call,
+<a name="l00050"></a>00050 <span class="keyword">const</span> QString &amp;<a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">key</a>,
+<a name="l00051"></a>00051 QObject * parent = 0);
+<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_context_subscriber_1_1_pending_subscribe_watcher.html#ac20dc315b637a4137d6cc1830ed8e779">onFinished</a>();
+<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_subscriber_1_1_pending_subscribe_watcher.html#a305b5626247bf297ab33aeefbdbc5f88">subscribeFailed</a>(QString, QString);
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a2ad4c5c689328e78b02ef598994d447c">valueChanged</a>(QString, <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>);
+<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ae9e3fd6b453ad968096ae574030bc9b7">subscribeFinished</a>(QString);
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="keyword">private</span>:
+<a name="l00061"></a><a class="code" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">00061</a> QString key;
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html">00064</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="l00065"></a>00065 {
+<a name="l00066"></a>00066 Q_OBJECT
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">public</span>:
+<a name="l00069"></a>00069 <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ab3728dd869ea64e058f4f7c35a4bb067" 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#a80103689b09397c9a399987df806af1c" title="The D-Bus service name of the ContextKit provider connected to.">busName</a>);
+<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#aa45ae69058525f998ed5eb0c275cac75" title="Forwards the subscribe request to the wire.">subscribe</a>(QSet&lt;QString&gt; keys);
+<a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a4936904e1483e3f06c86e10d65a39e50" title="Forwards the unsubscribe request to the wire.">unsubscribe</a>(QSet&lt;QString&gt; keys);
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 signals:
+<a name="l00074"></a>00074 <span class="preprocessor">#ifdef DOXYGEN_ONLY</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#acb1ad4d2dafa9c137acff2a84916686f" title="Emitted when the GetSubscriber call returns successfully.">ready</a>();
+<a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a659b0f0fcb7a740975fadc55c670bbf7" title="Emitted when the GetSubscriber call fails or provider not on D-Bus at all.">failed</a>(QString error);
+<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a4a3fcd522bbb2cc67c5821bcf15ed3d4" title="Emitted when Subscribe call succeeds on D-Bus.">subscribeFinished</a>(QString key);
+<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a803a4bf54f2017025bc314fc14702513" title="Emitted when Subscribe call fails on D-Bus.">subscribeFailed</a>(QString failedKey, QString error);
+<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a5603631c4a9e7f6a4cbe05af6dfe5c48" title="Emitted when ValueChanged signal comes on D-Bus.">valueChanged</a>(QString key, QVariant value);
+<a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span>
+<a name="l00082"></a>00082 <span class="keyword">private</span> slots:
+<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a87a7194ff406805a3b0d38f47d0a0aff">onNewValueChanged</a>(QList&lt;QVariant&gt; value,
+<a name="l00084"></a>00084 quint64 timestamp,
+<a name="l00085"></a>00085 QDBusMessage message);
+<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a119181d213c126458f065a0b10e7e281" title="Forwards value changes from the wire to the upper layer (Provider).">onDBusValuesChanged</a>(QMap&lt;QString, QVariant&gt; values);
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a9391a2ed305e25493a611c25ed9aa7a2" title="Starts using the fresh subscriber interface when it is returned by the manager in...">onDBusGetSubscriberFinished</a>(QDBusObjectPath objectPath);
+<a name="l00088"></a>00088 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a192e933ca4f023f84de709e84fbe47e7">onDBusGetSubscriberFailed</a>(QDBusError err);
+<a name="l00089"></a>00089 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a83385b7cf39ae293e6e06705f952f9a1" title="Signals the Provider that the subscribe is finished.">onDBusSubscribeFinished</a>(QList&lt;QString&gt; keys);
+<a name="l00090"></a>00090 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#aca1f1f90efb47950385d5814dadc573d" title="Signals the Provider that the subscribe is failed.">onDBusSubscribeFailed</a>(QList&lt;QString&gt; keys, QString error);
+<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#aef61e0a51dad4988fe264474cb2bdd7d" title="Gets a new subscriber interface from manager when the provider appears.">onProviderAppeared</a>();
+<a name="l00092"></a>00092 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a0ebafac80dca92564323f78a1fbfa6b7" title="Delete our subscriber interface when the provider goes away.">onProviderDisappeared</a>();
+<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a325ac3f7f3a87587218ee90fb6dd36be">newSubscribe</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00094"></a>00094
+<a name="l00095"></a>00095 <span class="keyword">private</span>:
+<a name="l00096"></a>00096 <span class="keyword">static</span> QString <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a59577eace322abd960442ad4e86f381b" title="Converts a key name to a protocol level object path.">keyToPath</a>(QString key);
+<a name="l00097"></a>00097 <span class="keyword">static</span> QString <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a3bf2af611eaccdca68e577c01b2a7607" title="Inverse of keyToPath.">pathToKey</a>(QString key);
+<a name="l00098"></a>00098
+<a name="l00099"></a>00099 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ad5959b9c2e4976ad24025492bfd9109c">reset</a>();
+<a name="l00100"></a>00100
+<a name="l00101"></a>00101 QMap&lt;QString, QVariant&gt;&amp; <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a1f2999785a6f653a95a946bcc09d05ba">mergeNullsWithMap</a>(QMap&lt;QString, QVariant&gt; &amp;map, QStringList nulls) <span class="keyword">const</span>;
+<a name="l00102"></a>00102
+<a name="l00103"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a0e34a8c4b3dafd66d2a094cf2ee22424">00103</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#a0e34a8c4b3dafd66d2a094cf2ee22424" title="Listens to provider&amp;#39;s (dis)appearance over DBus.">providerListener</a>;
+<a name="l00104"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ac5cf234581bce7834ff86d57b5bcb331">00104</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#ac5cf234581bce7834ff86d57b5bcb331" title="The D-Bus interface for the Subscriber object.">subscriberInterface</a>;
+<a name="l00105"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#afde8f2ee5e10b6625f3b023d6ad3523b">00105</a> QDBusAbstractInterface *<a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#afde8f2ee5e10b6625f3b023d6ad3523b" title="The D-Bus interface for the Manager object.">managerInterface</a>;
+<a name="l00106"></a>00106
+<a name="l00107"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a0be51b23a1acd297bb9155d611d37270">00107</a> QDBusConnection *<a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a0be51b23a1acd297bb9155d611d37270" title="The connection to DBus.">connection</a>;
+<a name="l00108"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a80103689b09397c9a399987df806af1c">00108</a> QString busName;
+<a name="l00109"></a>00109
+<a name="l00110"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#aae19463cfcd2a2925420e9befaa42783">00110</a> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#aae19463cfcd2a2925420e9befaa42783" title="The provider on D-Bus speaks the new protocol only.">newProtocol</a>;
+<a name="l00111"></a>00111
+<a name="l00112"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a73f07ee2c97993ecefe0b0787cc33523">00112</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#a73f07ee2c97993ecefe0b0787cc33523" title="org.freedesktop.ContextKit.Manager">managerIName</a>;
+<a name="l00113"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ac65d96beebc2af0eda5b79462c531836">00113</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#ac65d96beebc2af0eda5b79462c531836" title="org.freedesktop.ContextKit.Subscriber">subscriberIName</a>;
+<a name="l00114"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ad8141ab741a7d60ba3d1e067f0bb290e">00114</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#ad8141ab741a7d60ba3d1e067f0bb290e" title="/org/freedesktop/ContextKit/Manager">managerPath</a>;
+<a name="l00115"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#a0ec50bd2ac114b96bb7a2b203aa1273a">00115</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#a0ec50bd2ac114b96bb7a2b203aa1273a" title="org.maemo.contextkit.Property">propertyIName</a>;
+<a name="l00116"></a><a class="code" href="class_context_subscriber_1_1_context_kit_plugin.html#ab46c98a850ad26f29b8256ace7317ea5">00116</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#ab46c98a850ad26f29b8256ace7317ea5" title="/org/maemo/contextkit/">corePrefix</a>;
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121
+<a name="l00122"></a>00122 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d1454e8c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproperty_8cpp.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..35a0c3a6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproperty_8h.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..715d218d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproperty_8h_source.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a79283034949fe9cf79106b7ea221439a" 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#afc2a01b6895b75e73a049e9143a16a22" 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#addc93c0539a8ffd2c2c9439e5ccd8628" 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#afc2a01b6895b75e73a049e9143a16a22" 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#a4c295fefdf793557472959f9e2f3e18c" 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#a4c295fefdf793557472959f9e2f3e18c" 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#af5d07cd67b0c7a94d0912900e2729cbb" 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#a5e6f52ce5ba6e7d07240ce84c2cc7326" 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#afa0ef21efe3c1c5d2b5936cda8feb350" 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#a8377eacd97cfccf349b7167f33414888" 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#a8654f1a0b2e6e3e58d6fc2830a5fbb8b" 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#a47a70ecc83ea7b819728a3430d860100" 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#adee3726fee9fbbcb92c7fb3ba2e04c49" 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#ade52af7df11f1b01893f99aef56ecd10">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#ade52af7df11f1b01893f99aef56ecd10">priv</a>;
+<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_property.html#a0e60707841d0012a23c3368793421937">onValueChanged</a>();
+<a name="l00062"></a>00062 };
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1eed7b52
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextpropertyinfo_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5680897c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextpropertyinfo_8h.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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/>
+<code>#include &quot;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a>&quot;</code><br/>
+
+<p><a href="contextpropertyinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..eeeb53d5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextpropertyinfo_8h_source.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>&quot;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="contexttypeinfo_8h.html">contexttypeinfo.h</a>&quot;</span>
+<a name="l00032"></a>00032
+<a name="l00033"></a><a class="code" href="class_context_property_info.html">00033</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="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><a class="code" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">00038</a> <span class="keyword">enum</span> <a class="code" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> { <a class="code" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6">LastValue</a> };
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">explicit</span> <a class="code" href="class_context_property_info.html#add1b6db4bfb5c36cd6ae9b9352112c4c" 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#a81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>, QObject *parent = 0);
+<a name="l00041"></a>00041
+<a name="l00043"></a><a class="code" href="class_context_property_info.html#a1c06eaa93db43664c42435c4a0394d8d">00043</a> <span class="keyword">virtual</span> <a class="code" href="class_context_property_info.html#a1c06eaa93db43664c42435c4a0394d8d" title="Destroys the object.">~ContextPropertyInfo</a>() {}
+<a name="l00044"></a>00044
+<a name="l00045"></a>00045 QString <a class="code" href="class_context_property_info.html#a81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>() <span class="keyword">const</span>;
+<a name="l00046"></a>00046 QString <a class="code" href="class_context_property_info.html#ad8b0cd1c2e29b63a0a672fd407ce4150" title="Returns the doc (documentation) for the introspected key.">doc</a>() <span class="keyword">const</span>;
+<a name="l00047"></a>00047 QString <a class="code" href="class_context_property_info.html#a7f8e0cc9c8439e6ec109a16a80a2d3fc" title="Returns the old-style type name for the introspected key. To be deprecated soon.">type</a>() <span class="keyword">const</span>;
+<a name="l00048"></a>00048 <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_context_property_info.html#abaa8292d4ff8b4b73c376e9ff0a9e215" title="Returns the advanced type info for the introspected key.">typeInfo</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#ac5540a24a4610bb641f8e64a48d4f356" title="DEPRECATED Returns true if the key exists in the registry.">exists</a>() <span class="keyword">const</span>;
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#a054dbdee21942623bf6e9679903e4384" 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="l00051"></a>00051 <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#a9d270042f069bafc0f994b3b19804d8a" title="Returns true if the key is provided by someone.">provided</a>() <span class="keyword">const</span>;
+<a name="l00052"></a>00052
+<a name="l00053"></a>00053 QString <a class="code" href="class_context_property_info.html#af2e6ee62ab7203f3750dc9851bf67868" title="DEPRECATED Returns the dbus name of the provider supplying this property/key.">providerDBusName</a>() <span class="keyword">const</span>;
+<a name="l00054"></a>00054 QDBusConnection::BusType <a class="code" href="class_context_property_info.html#aee09f09db9cc631bc3d175cae7f0f671" title="DEPRECATED Returns the bus type of the provider supplying this property/key.">providerDBusType</a>() <span class="keyword">const</span>;
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 QString <a class="code" href="class_context_property_info.html#ab67e0d20a267bae467bd449358273fbc" title="DEPRECATED Returns the name of the plugin supplying this property.">plugin</a>() <span class="keyword">const</span>;
+<a name="l00057"></a>00057 QString <a class="code" href="class_context_property_info.html#ac638ba6bd9336c58174fa8bb20fa7d4e" title="DEPRECATED Returns the construction parameter for the Provider supplying this property...">constructionString</a>() <span class="keyword">const</span>;
+<a name="l00058"></a>00058 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_context_property_info.html#a9260be377cc7d8124140701a7d72e62f" title="Returns a list of providers that provide this key.">providers</a>() <span class="keyword">const</span>;
+<a name="l00059"></a>00059 <a class="code" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ResolutionStrategy</a> <a class="code" href="class_context_property_info.html#a4afd9d028d9d13f6e3fb9b7be1cb84d3" title="Returns resolution strategy for this property.">resolutionStrategy</a>() <span class="keyword">const</span>;
+<a name="l00060"></a>00060
+<a name="l00061"></a>00061 <span class="keyword">protected</span>:
+<a name="l00062"></a>00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a2453fc77a1afba74a661d8c15836e69d" title="Called when people connect to signals.">connectNotify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *signal);
+<a name="l00063"></a>00063
+<a name="l00064"></a>00064 <span class="keyword">private</span>:
+<a name="l00065"></a><a class="code" href="class_context_property_info.html#ac3d71c5189748d3eee041c82864f995f">00065</a> QString <a class="code" href="class_context_property_info.html#ac3d71c5189748d3eee041c82864f995f" title="The name of the key his ContextPropertyInfo represents.">keyName</a>;
+<a name="l00066"></a><a class="code" href="class_context_property_info.html#ad0b09926f8b67dd4bb2d9f2bc2a2c601">00066</a> QString <a class="code" href="class_context_property_info.html#ad0b09926f8b67dd4bb2d9f2bc2a2c601" title="Cached documentation of the key.">cachedDoc</a>;
+<a name="l00067"></a><a class="code" href="class_context_property_info.html#a8ad27d097f69e6d9f1ebde443bcf49b0">00067</a> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_context_property_info.html#a8ad27d097f69e6d9f1ebde443bcf49b0" title="Cached (stored) type info of the key.">cachedTypeInfo</a>;
+<a name="l00068"></a><a class="code" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26">00068</a> <span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26" title="Cached state of the key (existance).">cachedDeclared</a>;
+<a name="l00069"></a><a class="code" href="class_context_property_info.html#a9892898881029c982aa6003bd16c70d4">00069</a> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_context_property_info.html#a9892898881029c982aa6003bd16c70d4" title="Cached list of providers for this key.">cachedProviders</a>;
+<a name="l00070"></a><a class="code" href="class_context_property_info.html#a8f23781855ffcfbcbd979d9e410c493e">00070</a> <span class="keyword">mutable</span> QMutex <a class="code" href="class_context_property_info.html#a8f23781855ffcfbcbd979d9e410c493e" title="Lock for the cache.">cacheLock</a>;
+<a name="l00071"></a>00071
+<a name="l00072"></a>00072 QString <a class="code" href="class_context_property_info.html#af09ce2c166d9fa87ec4c3cba6b0cabee" title="DEPRECATED Returns the dbus name of the provider supplying this property/key.">providerDBusName_i</a>() <span class="keyword">const</span>;
+<a name="l00073"></a>00073 QDBusConnection::BusType <a class="code" href="class_context_property_info.html#ad4dc52a73150d57b19b2b37a07ff1342">providerDBusType_i</a>() <span class="keyword">const</span>;
+<a name="l00074"></a>00074 QString <a class="code" href="class_context_property_info.html#a38e61db02d8f588924d59b60a74a468a">plugin_i</a>() <span class="keyword">const</span>;
+<a name="l00075"></a>00075 QString <a class="code" href="class_context_property_info.html#a36db2252d9263d4f45aafaf57392d467">constructionString_i</a>() <span class="keyword">const</span>;
+<a name="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">private</span> slots:
+<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a4dedbecfb6d9c0c0b2be0329c20e405a" 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#a81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>);
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 signals:
+<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a19bb4eb5067f8bd9504db7733b02be26" title="DEPRECATED, use changed() signal.">providerChanged</a>(<span class="keyword">const</span> QString&amp; newProvider);
+<a name="l00087"></a>00087
+<a name="l00093"></a>00093 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a5c03f07e13e9decec21d9bcc415bd35c" title="DEPRECATED, use changed() signal.">providerDBusTypeChanged</a>(QDBusConnection::BusType newBusType);
+<a name="l00094"></a>00094
+<a name="l00100"></a>00100 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#affead559621ed710667dddafd240db58" title="DEPRECATED, use changed() signal.">typeChanged</a>(<span class="keyword">const</span> QString&amp; newType);
+<a name="l00101"></a>00101
+<a name="l00108"></a>00108 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a9d4c44c032c884821a3cc643f759cbb2" title="DEPRECATED, use changed() signal.">existsChanged</a>(<span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#ac5540a24a4610bb641f8e64a48d4f356" title="DEPRECATED Returns true if the key exists in the registry.">exists</a>);
+<a name="l00109"></a>00109
+<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a37c67d07a2f0c361378ac79e6589a968" title="DEPRECATED, use changed() signal.">providedChanged</a>(<span class="keywordtype">bool</span> <a class="code" href="class_context_property_info.html#a9d270042f069bafc0f994b3b19804d8a" title="Returns true if the key is provided by someone.">provided</a>);
+<a name="l00117"></a>00117
+<a name="l00124"></a>00124 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a9523b5b197a619e783b8ba3780a391aa" title="DEPRECATED, use changed() signal.">pluginChanged</a>(QString <a class="code" href="class_context_property_info.html#ab67e0d20a267bae467bd449358273fbc" title="DEPRECATED Returns the name of the plugin supplying this property.">plugin</a>, QString <a class="code" href="class_context_property_info.html#ac638ba6bd9336c58174fa8bb20fa7d4e" title="DEPRECATED Returns the construction parameter for the Provider supplying this property...">constructionString</a>);
+<a name="l00125"></a>00125
+<a name="l00129"></a>00129 <span class="keywordtype">void</span> <a class="code" href="class_context_property_info.html#a9d85cc8d48f34bb01e168dac265b65a1" title="Emitted when any of the key parameters/data changes.">changed</a>(QString <a class="code" href="class_context_property_info.html#a81b41c6e79e7914c78de43a0dc642eb9" title="Returns the full name of the introspected key.">key</a>);
+<a name="l00130"></a>00130
+<a name="l00131"></a><a class="code" href="class_context_property_info.html#ab6564dd36e6061c758e4af95c313ef9b">00131</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_property_info.html#ab6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfoUnitTest</a>;
+<a name="l00132"></a>00132 };
+<a name="l00133"></a>00133
+<a name="l00134"></a>00134 <span class="preprocessor">#endif // CONTEXTPROPERTYINFO_H</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b762dbc5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproviderinfo_8h.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..cbc2a4f3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextproviderinfo_8h_source.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a77543a6ec6f46f6b72dad84180c216ec">00030</a> QString <a class="code" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a>;
+<a name="l00031"></a><a class="code" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">00031</a> QString <a class="code" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">constructionString</a>;
+<a name="l00032"></a><a class="code" href="struct_context_provider_info.html#a4921a7a3f436365be181bbb14a1a7974">00032</a> <a class="code" href="struct_context_provider_info.html#a4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>(<span class="keyword">const</span> QString&amp; <a class="code" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a>, <span class="keyword">const</span> QString&amp; <a class="code" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">constructionString</a>)
+<a name="l00033"></a>00033 : plugin(plugin), constructionString(constructionString) { }
+<a name="l00034"></a><a class="code" href="struct_context_provider_info.html#aa989d7c55042d3eef5d514e017658b0c">00034</a> <span class="keywordtype">bool</span> <a class="code" href="struct_context_provider_info.html#aa989d7c55042d3eef5d514e017658b0c">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#a77543a6ec6f46f6b72dad84180c216ec">plugin</a> &lt; other.<a class="code" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a> ||
+<a name="l00037"></a>00037 (<a class="code" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a> == other.<a class="code" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a> &amp;&amp; <a class="code" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">constructionString</a> &lt; other.<a class="code" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f61fe138
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextregistryinfo_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a832b717
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextregistryinfo_8h.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4155a932
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contextregistryinfo_8h_source.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a93a34519ddb495338876ba0e1d1a4247" 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#a8af42fc0ba5306234d06a238056cce99" 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">&quot;&quot;</span>);
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 QStringList <a class="code" href="class_context_registry_info.html#a963309761292d39921da3fb06cb31060" 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#a963309761292d39921da3fb06cb31060" 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#a195777381facfb937a992c08c8647519" 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#acd9c94071cdd4e01e1b3f42d0e240e25" 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#a288081af4423fdc54c0e6db4591a8f34" 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#a8af42fc0ba5306234d06a238056cce99" 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#a09177765ce970e704de078ea8a8e364c">00045</a> <a class="code" href="class_context_registry_info.html#a09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>() {};
+<a name="l00046"></a>00046 <a class="code" href="class_context_registry_info.html#a09177765ce970e704de078ea8a8e364c">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#a3f47c39171329446d574da87b18b49ad" 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#a26fbeceb6cc6034badaa3593a93c086a">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#a26fbeceb6cc6034badaa3593a93c086a" 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#aa25ae78e991e72aba1442487e3a7661d" 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#a93732cc21af7bfaf26a89a34c9855e26" 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#a2dee38dbb2c673b1ddab29fbe578dd44" 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#aa9bd4d704c5cda390b7186bdca213dbc" 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#a3edf9b27770690632f8950a832a726a0" 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#a455bf52414fc5b7e0be384769af4dc0b" 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#a89e54a28e6293e102d3c6cc1c56203a8" 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#a93f77b8ca933babf05a1f26d488a5093" 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#ab812fc743282bca20289cd6b28f7de14" 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#aaf710ed7356d597c5a7a04cbe74eb5a4">00089</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_registry_info.html#aaf710ed7356d597c5a7a04cbe74eb5a4">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contexttypeinfo_8cpp.html b/libcontextsubscriber/doc/html/contexttypeinfo_8cpp.html
new file mode 100644
index 00000000..d700ce96
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contexttypeinfo_8cpp.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: contexttypeinfo.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>contexttypeinfo.cpp File Reference</h1><code>#include &quot;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.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="contexttyperegistryinfo_8h_source.html">contexttyperegistryinfo.h</a>&quot;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contexttypeinfo_8h.html b/libcontextsubscriber/doc/html/contexttypeinfo_8h.html
new file mode 100644
index 00000000..04e43df4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contexttypeinfo_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: contexttypeinfo.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>contexttypeinfo.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="assoctree_8h_source.html">assoctree.h</a>&quot;</code><br/>
+
+<p><a href="contexttypeinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_string_enum_info.html">ContextStringEnumInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_list_info.html">ContextListInfo</a></td></tr>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contexttypeinfo_8h_source.html b/libcontextsubscriber/doc/html/contexttypeinfo_8h_source.html
new file mode 100644
index 00000000..ce7859f7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contexttypeinfo_8h_source.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: contexttypeinfo.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>contexttypeinfo.h</h1><a href="contexttypeinfo_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 CONTEXTTYPEINFO_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTTYPEINFO_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 &quot;<a class="code" href="assoctree_8h.html">assoctree.h</a>&quot;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a><a class="code" href="class_context_type_info.html">00030</a> <span class="keyword">class </span><a class="code" href="class_context_type_info.html">ContextTypeInfo</a> : <span class="keyword">public</span> <a class="code" href="class_assoc_tree.html">AssocTree</a>
+<a name="l00031"></a>00031 {
+<a name="l00032"></a>00032 <span class="keyword">public</span>:
+<a name="l00033"></a><a class="code" href="class_context_type_info.html#ab426acb27dff6915268f08f639f4c639">00033</a> <a class="code" href="class_context_type_info.html#ab426acb27dff6915268f08f639f4c639">ContextTypeInfo</a> (<span class="keyword">const</span> <a class="code" href="class_assoc_tree.html">AssocTree</a> &amp;tree) : <a class="code" href="class_assoc_tree.html">AssocTree</a> (tree) { }
+<a name="l00034"></a><a class="code" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">00034</a> <a class="code" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">ContextTypeInfo</a> (<span class="keyword">const</span> QVariant &amp;tree) : <a class="code" href="class_assoc_tree.html">AssocTree</a> (tree) { }
+<a name="l00035"></a><a class="code" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">00035</a> <a class="code" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a> () { }
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0" title="Returns a ContexTypeInfo where old-style type names (INTEGER, STRING, BOOL) are replaced...">ensureNewTypes</a>();
+<a name="l00038"></a>00038
+<a name="l00039"></a><a class="code" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">00039</a> QString <a class="code" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02" title="Returns the name of this association tree.">name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02" title="Returns the name of this association tree.">AssocTree::name</a>(); }
+<a name="l00040"></a><a class="code" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">00040</a> QVariantList <a class="code" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">parameters</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52" title="Returns a list of all sub-trees.">nodes</a>(); }
+<a name="l00041"></a><a class="code" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">00041</a> QVariant <a class="code" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">parameterValue</a>(QString p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(p); }
+<a name="l00042"></a><a class="code" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">00042</a> <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">parameterNode</a>(QString p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593" title="Returns the sub-tree with the given name.">node</a>(p); }
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef" title="Returns the AssocTree with the type definition for this type.">definition</a>() <span class="keyword">const</span>;
+<a name="l00045"></a><a class="code" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">00045</a> QString <a class="code" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">parameterDoc</a>(QString p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef" title="Returns the AssocTree with the type definition for this type.">definition</a>().<a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="stringliteral">&quot;params&quot;</span>, p, <span class="stringliteral">&quot;doc&quot;</span>).toString(); }
+<a name="l00046"></a><a class="code" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">00046</a> QString <a class="code" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">doc</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef" title="Returns the AssocTree with the type definition for this type.">definition</a>().<a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="stringliteral">&quot;doc&quot;</span>).toString(); }
+<a name="l00047"></a><a class="code" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">00047</a> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">base</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a>(<a class="code" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef" title="Returns the AssocTree with the type definition for this type.">definition</a>().<a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a>(<span class="stringliteral">&quot;base&quot;</span>)); }
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049
+<a name="l00050"></a><a class="code" href="class_context_string_enum_info.html">00050</a> <span class="keyword">class </span><a class="code" href="class_context_string_enum_info.html">ContextStringEnumInfo</a> : <span class="keyword">public</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a>
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 <span class="keyword">public</span>:
+<a name="l00053"></a><a class="code" href="class_context_string_enum_info.html#a1060740ec44d6dd57c15c7334e4f9c69">00053</a> <a class="code" href="class_context_string_enum_info.html#a1060740ec44d6dd57c15c7334e4f9c69">ContextStringEnumInfo</a> (<span class="keyword">const</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> &amp;info) : <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> (info) { }
+<a name="l00054"></a>00054
+<a name="l00055"></a>00055 QStringList <a class="code" href="class_context_string_enum_info.html#a0d5c4a1ac7e645f0c1e8a6bbc507e492">choices</a> () <span class="keyword">const</span>;
+<a name="l00056"></a><a class="code" href="class_context_string_enum_info.html#a110f0b9e727a866d3d036fb5d2ab1f98">00056</a> QString <a class="code" href="class_context_string_enum_info.html#a110f0b9e727a866d3d036fb5d2ab1f98">choiceDoc</a> (<span class="keyword">const</span> QString &amp;choice)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8" title="Returns the value of this tree.">value</a> (choice, <span class="stringliteral">&quot;doc&quot;</span>).toString(); }
+<a name="l00057"></a>00057 };
+<a name="l00058"></a>00058
+<a name="l00059"></a><a class="code" href="class_context_list_info.html">00059</a> <span class="keyword">class </span><a class="code" href="class_context_list_info.html">ContextListInfo</a> : <span class="keyword">public</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a>
+<a name="l00060"></a>00060 {
+<a name="l00061"></a>00061 <span class="keyword">public</span>:
+<a name="l00062"></a><a class="code" href="class_context_list_info.html#a0d0accd5824d707768c23064ad7ce66c">00062</a> <a class="code" href="class_context_list_info.html#a0d0accd5824d707768c23064ad7ce66c">ContextListInfo</a> (<span class="keyword">const</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> &amp;info) : <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> (info) { }
+<a name="l00063"></a>00063
+<a name="l00064"></a><a class="code" href="class_context_list_info.html#a08286f38aff16c4bbac3cff24a990e37">00064</a> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_context_list_info.html#a08286f38aff16c4bbac3cff24a990e37">type</a>() { <span class="keywordflow">return</span> <a class="code" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a>(<a class="code" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">parameterValue</a>(<span class="stringliteral">&quot;type&quot;</span>)); }
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066
+<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contexttyperegistryinfo_8cpp.html b/libcontextsubscriber/doc/html/contexttyperegistryinfo_8cpp.html
new file mode 100644
index 00000000..9267958f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contexttyperegistryinfo_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: contexttyperegistryinfo.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>contexttyperegistryinfo.cpp File Reference</h1><code>#include &quot;<a class="el" href="contexttyperegistryinfo_8h_source.html">contexttyperegistryinfo.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/>
+<code>#include &lt;QCoreApplication&gt;</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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contexttyperegistryinfo_8h.html b/libcontextsubscriber/doc/html/contexttyperegistryinfo_8h.html
new file mode 100644
index 00000000..b35241b7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contexttyperegistryinfo_8h.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: contexttyperegistryinfo.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>contexttyperegistryinfo.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="assoctree_8h_source.html">assoctree.h</a>&quot;</code><br/>
+
+<p><a href="contexttyperegistryinfo_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A class to access the type registry. <a href="class_context_type_registry_info.html#_details">More...</a><br/></td></tr>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/contexttyperegistryinfo_8h_source.html b/libcontextsubscriber/doc/html/contexttyperegistryinfo_8h_source.html
new file mode 100644
index 00000000..d892c00b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/contexttyperegistryinfo_8h_source.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: contexttyperegistryinfo.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>contexttyperegistryinfo.h</h1><a href="contexttyperegistryinfo_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 CONTEXTTYPEREGISTRYINFO_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define CONTEXTTYPEREGISTRYINFO_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 &quot;<a class="code" href="assoctree_8h.html">assoctree.h</a>&quot;</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a><a class="code" href="class_context_type_registry_info.html">00030</a> <span class="keyword">class </span><a class="code" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</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 <span class="keyword">static</span> <a class="code" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>* <a class="code" href="class_context_type_registry_info.html#a5c2ab7a27488ddcb0d486904b37b4e02" title="Returns the singleton instance of the ContextTypeRegistryInfo.">instance</a>();
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037 QString <a class="code" href="class_context_type_registry_info.html#a988d768b9a8fd1dc46db67d2d7af563d" title="Returns the full path to the registry directory.">registryPath</a>();
+<a name="l00038"></a>00038 QString <a class="code" href="class_context_type_registry_info.html#a1fe24a4cdfc689ceee6f713b3fe2124a" title="Returns the full path to the core property declaration file.">coreTypesPath</a>();
+<a name="l00039"></a>00039 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_context_type_registry_info.html#a20121b701a3d3293e99804ca5841d36e" title="Returns a type definition for the type with the given name.">typeDefinitionForName</a>(QString name);
+<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_type_registry_info.html#a1ed1dabebbe6336324f5e6c9a031c185" title="Private constructor. Do not use.">ContextTypeRegistryInfo</a>();
+<a name="l00043"></a>00043 <a class="code" href="class_context_type_registry_info.html#a1ed1dabebbe6336324f5e6c9a031c185" title="Private constructor. Do not use.">ContextTypeRegistryInfo</a>(<span class="keyword">const</span> <a class="code" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>&amp;);
+<a name="l00044"></a>00044 <a class="code" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>&amp; <a class="code" href="class_context_type_registry_info.html#aed28e0db18d12acc7ac5cc996c34f2f3" title="Private operator. Do not use.">operator=</a>(<span class="keyword">const</span> <a class="code" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>&amp;);
+<a name="l00045"></a>00045
+<a name="l00048"></a><a class="code" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83">00048</a> <span class="keyword">static</span> <a class="code" href="class_context_type_registry_info.html" title="A class to access the type registry.">ContextTypeRegistryInfo</a>* <a class="code" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83" title="Holds the actual pointer to the singleton instance.">registryInstance</a>;
+<a name="l00049"></a>00049
+<a name="l00050"></a><a class="code" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798">00050</a> <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798" title="The core.types as AssocTree. Read on construction.">coreTree</a>;
+<a name="l00051"></a><a class="code" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">00051</a> QHash &lt;QString, AssocTree&gt; <a class="code" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">typeCache</a>; <span class="comment">//&lt; Cache of QString -&gt; type definition.</span>
+<a name="l00052"></a>00052
+<a name="l00053"></a><a class="code" href="class_context_type_registry_info.html#ac8de3e69b61de37a62ff1e706adcad18">00053</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_context_type_registry_info.html#ac8de3e69b61de37a62ff1e706adcad18">ContextTypeRegistryInfoUnitTest</a>;
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055
+<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..68d4eb46
--- /dev/null
+++ b/libcontextsubscriber/doc/html/dbusnamelistener_8cpp.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..7ed8e620
--- /dev/null
+++ b/libcontextsubscriber/doc/html/dbusnamelistener_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f2683dc1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/dbusnamelistener_8h_source.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c">00038</a> <span class="keyword">enum</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> {<a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884">NotPresent</a> = 0, <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab">Present</a>, <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c">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#a80cd4b4576989625cefc639d21bfee5d">DBusNameListener</a>(QDBusConnection::BusType <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#a4ae2ef44be74c21c952f1bddb2a152f9" 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#a86d18fe068b5a9e7b722aaf76dd897bd" 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#a80cd4b4576989625cefc639d21bfee5d">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#a86d18fe068b5a9e7b722aaf76dd897bd" 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#a0049dbd454615122dcfca92253b7e7d7">~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#a29c51998308e0448bee857df8f8206cc" 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#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac6727dbeb9c1f8ef2c101b223ef3acca" 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#aca7dd6273d3e2335a436b34b284d1830" 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#afd2c19f9dc41d1e68bc2d22a1e2ac4a7" 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#ab1dd997605d2d5ef768c1b113ee42c52">00053</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032d">ServicePresence</a> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ab1dd997605d2d5ef768c1b113ee42c52" 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#a4ae2ef44be74c21c952f1bddb2a152f9">00054</a> QDBusConnection::BusType <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#a4ae2ef44be74c21c952f1bddb2a152f9" 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#a86d18fe068b5a9e7b722aaf76dd897bd">00055</a> QString <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#a86d18fe068b5a9e7b722aaf76dd897bd" 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#a2141c57da98b81259101f6e782cf92f5">00056</a> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#a2141c57da98b81259101f6e782cf92f5">listeningStarted</a>;
+<a name="l00057"></a><a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ae09ac9d58b9c15e9ba77bf7f8247a5e7">00057</a> QDBusConnection* <a class="code" href="class_context_subscriber_1_1_d_bus_name_listener.html#ae09ac9d58b9c15e9ba77bf7f8247a5e7">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#a888a8557a7246d7c268e8037220f3156">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#a2a28de9dd87121d688410053a025c470">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#a156d249adafb167b396e61786590480b">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#a96df4b22f35d6e39d0db58e1e26a9550">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/doxygen.css b/libcontextsubscriber/doc/html/doxygen.css
new file mode 100644
index 00000000..9ca3cafb
--- /dev/null
+++ b/libcontextsubscriber/doc/html/doxygen.css
@@ -0,0 +1,498 @@
+/* The standard CSS for doxygen */
+
+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%;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+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;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+img.footer {
+ border: 0px;
+ 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;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memTemplParams {
+ color: #606060;
+ white-space: nowrap;
+}
+
+/* @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;
+ margin-bottom: 10px;
+}
+
+.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;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+}
+
+.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..f5e5d4c1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/files.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="assoctree_8cpp.html">assoctree.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="assoctree_8h.html">assoctree.h</a> <a href="assoctree_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <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="contexttypeinfo_8cpp.html">contexttypeinfo.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contexttypeinfo_8h.html">contexttypeinfo.h</a> <a href="contexttypeinfo_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contexttyperegistryinfo_8cpp.html">contexttyperegistryinfo.cpp</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="contexttyperegistryinfo_8h.html">contexttyperegistryinfo.h</a> <a href="contexttyperegistryinfo_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="timedvalue_8h.html">timedvalue.h</a> <a href="timedvalue_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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/functions.html b/libcontextsubscriber/doc/html/functions.html
new file mode 100644
index 00000000..ebbc29a9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_c_d_b_writer.html#a7badfc7cd1c94ef07a3c630c0f0bd0fb">CDBWriter</a>
+</li>
+<li>addValue()
+: <a class="el" href="class_nano_xml.html#a0820f7cc298465a54350f998af40d929">NanoXml</a>
+</li>
+<li>appendFeatures()
+: <a class="el" href="class_context_real_logger.html#a1f6e0152e1e606b00e45f720d4eeba99">ContextRealLogger</a>
+</li>
+<li>AssocTree()
+: <a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>
+</li>
+<li>AsyncDBusInterface()
+: <a class="el" href="class_async_d_bus_interface.html#a744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..685a9f00
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x62.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>backendInstance
+: <a class="el" href="class_info_backend.html#af56386ab44960a7646b5a2585688c8d8">InfoBackend</a>
+</li>
+<li>backendName()
+: <a class="el" href="class_context_registry_info.html#a8af42fc0ba5306234d06a238056cce99">ContextRegistryInfo</a>
+</li>
+<li>base()
+: <a class="el" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">ContextTypeInfo</a>
+</li>
+<li>busName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a80103689b09397c9a399987df806af1c">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a86d18fe068b5a9e7b722aaf76dd897bd">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>busType
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a4ae2ef44be74c21c952f1bddb2a152f9">ContextSubscriber::DBusNameListener</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b95d722e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x63.html
@@ -0,0 +1,234 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>cachedDeclared
+: <a class="el" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26">ContextPropertyInfo</a>
+</li>
+<li>cachedDoc
+: <a class="el" href="class_context_property_info.html#ad0b09926f8b67dd4bb2d9f2bc2a2c601">ContextPropertyInfo</a>
+</li>
+<li>cachedProviders
+: <a class="el" href="class_context_property_info.html#a9892898881029c982aa6003bd16c70d4">ContextPropertyInfo</a>
+</li>
+<li>cachedTypeInfo
+: <a class="el" href="class_context_property_info.html#a8ad27d097f69e6d9f1ebde443bcf49b0">ContextPropertyInfo</a>
+</li>
+<li>cacheLock
+: <a class="el" href="class_context_property_info.html#a8f23781855ffcfbcbd979d9e410c493e">ContextPropertyInfo</a>
+</li>
+<li>callQueue
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ac786085eae3605b42b0e7f3cda99fe32">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>callQueueLock
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#aea2e2e6956a76f58083214bbb327a04c">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>cdb
+: <a class="el" href="class_c_d_b_reader.html#a2724a80b3ddfb3a30e6af954d162403f">CDBReader</a>
+</li>
+<li>cdbm
+: <a class="el" href="class_c_d_b_writer.html#a142d82fc35b3ad495588ad2299cb5f2b">CDBWriter</a>
+</li>
+<li>CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#ada59740e3d69efc32db88cdb4514dcfa">CDBReader</a>
+</li>
+<li>CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#ae40a943a3cf86d6ca9b5350357d83a74">CDBWriter</a>
+</li>
+<li>Changed()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#aaf5cbaccd8318fd13389b2da11b03e7c">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>changed()
+: <a class="el" href="class_context_property_info.html#a9d85cc8d48f34bb01e168dac265b65a1">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#ab812fc743282bca20289cd6b28f7de14">ContextRegistryInfo</a>
+</li>
+<li>characters()
+: <a class="el" href="class_nano_xml.html#ad051fdc20099f73a6595cb229e5c5854">NanoXml</a>
+</li>
+<li>checkAndEmitKeyChanged()
+: <a class="el" href="class_info_backend.html#ad770d30f718c8110a6e14371293829b9">InfoBackend</a>
+</li>
+<li>checkAndEmitKeysAdded()
+: <a class="el" href="class_info_backend.html#a26dea7269e293f178ca7a855bd8085eb">InfoBackend</a>
+</li>
+<li>checkAndEmitKeysRemoved()
+: <a class="el" href="class_info_backend.html#a2229c5a5b2c85b50746497bed16735c2">InfoBackend</a>
+</li>
+<li>choiceDoc()
+: <a class="el" href="class_context_string_enum_info.html#a110f0b9e727a866d3d036fb5d2ab1f98">ContextStringEnumInfo</a>
+</li>
+<li>choices()
+: <a class="el" href="class_context_string_enum_info.html#a0d5c4a1ac7e645f0c1e8a6bbc507e492">ContextStringEnumInfo</a>
+</li>
+<li>clearValues()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ae2569ebe40afb18160eccc699574e3c7">ContextSubscriber::Provider</a>
+</li>
+<li>close()
+: <a class="el" href="class_c_d_b_reader.html#a4a6881b3b4fd14c2badcdbbfc1a5741c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#a8de500cd2916cca7709862624fd52728">CDBWriter</a>
+</li>
+<li>commanderListener
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a8cb5a37f3a69e7019e9d7559e1e2993c">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>commandingEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#acb7a882c3ef0423544754bd6fd5de7af">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>connectCount
+: <a class="el" href="class_info_backend.html#a463dc4b191efca9c44035cb52798e0af">InfoBackend</a>
+</li>
+<li>connection
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0be51b23a1acd297bb9155d611d37270">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ae09ac9d58b9c15e9ba77bf7f8247a5e7">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>connectNotify()
+: <a class="el" href="class_info_backend.html#ab0db0c312a540b4b6d49c434c8cf64bd">InfoBackend</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a1c7ee2c99941a60bc1a3d43aa794063b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_property_info.html#a2453fc77a1afba74a661d8c15836e69d">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#aa25ae78e991e72aba1442487e3a7661d">ContextRegistryInfo</a>
+</li>
+<li>constructionString
+: <a class="el" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">ContextProviderInfo</a>
+, <a class="el" href="class_context_property_info.html#ac638ba6bd9336c58174fa8bb20fa7d4e">ContextPropertyInfo</a>
+</li>
+<li>constructionString_i()
+: <a class="el" href="class_context_property_info.html#a36db2252d9263d4f45aafaf57392d467">ContextPropertyInfo</a>
+</li>
+<li>constructPlugin()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a1e2136dc7c4ad62b020c7ed95914bb67">ContextSubscriber::Provider</a>
+</li>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+</li>
+<li>ContextKitPlugin()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ab3728dd869ea64e058f4f7c35a4bb067">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>ContextListInfo()
+: <a class="el" href="class_context_list_info.html#a0d0accd5824d707768c23064ad7ce66c">ContextListInfo</a>
+</li>
+<li>ContextProperty()
+: <a class="el" href="class_context_property.html#a79283034949fe9cf79106b7ea221439a">ContextProperty</a>
+</li>
+<li>ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#add1b6db4bfb5c36cd6ae9b9352112c4c">ContextPropertyInfo</a>
+</li>
+<li>ContextPropertyInfoUnitTest
+: <a class="el" href="class_context_property_info.html#ab6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfo</a>
+</li>
+<li>ContextProviderInfo()
+: <a class="el" href="struct_context_provider_info.html#a4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>
+</li>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+</li>
+<li>ContextRegistryInfo()
+: <a class="el" href="class_context_registry_info.html#a09177765ce970e704de078ea8a8e364c">ContextRegistryInfo</a>
+</li>
+<li>ContextRegistryInfoUnitTest
+: <a class="el" href="class_context_registry_info.html#aaf710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfo</a>
+</li>
+<li>ContextStringEnumInfo()
+: <a class="el" href="class_context_string_enum_info.html#a1060740ec44d6dd57c15c7334e4f9c69">ContextStringEnumInfo</a>
+</li>
+<li>ContextTypeInfo()
+: <a class="el" href="class_context_type_info.html#a9524118935d0e3a7fe7b940e70dfa421">ContextTypeInfo</a>
+</li>
+<li>ContextTypeRegistryInfo()
+: <a class="el" href="class_context_type_registry_info.html#a1ed1dabebbe6336324f5e6c9a031c185">ContextTypeRegistryInfo</a>
+</li>
+<li>ContextTypeRegistryInfoUnitTest
+: <a class="el" href="class_context_type_registry_info.html#ac8de3e69b61de37a62ff1e706adcad18">ContextTypeRegistryInfo</a>
+</li>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+</li>
+<li>coreDeclPath()
+: <a class="el" href="class_info_xml_backend.html#ae919a19ac7fc38f60048b900d49c41d5">InfoXmlBackend</a>
+</li>
+<li>corePrefix
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ab46c98a850ad26f29b8256ace7317ea5">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>coreTree
+: <a class="el" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798">ContextTypeRegistryInfo</a>
+</li>
+<li>coreTypesPath()
+: <a class="el" href="class_context_type_registry_info.html#a1fe24a4cdfc689ceee6f713b3fe2124a">ContextTypeRegistryInfo</a>
+</li>
+<li>countOfFilesInLastParse
+: <a class="el" href="class_info_xml_backend.html#ac61fad8518de174500caaaa278bf1672">InfoXmlBackend</a>
+</li>
+<li>current
+: <a class="el" href="class_nano_xml.html#abfef8deeba2c746ee63ae4f1e64f7551">NanoXml</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d5982f2a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x64.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>data
+: <a class="el" href="class_context_real_logger.html#a1ade8a975d63f4e178eba2e2d4a26f1e">ContextRealLogger</a>
+</li>
+<li>databaseDirectory()
+: <a class="el" href="class_info_cdb_backend.html#a2ec440b4df1e409e6cf74f5fd514fb6c">InfoCdbBackend</a>
+</li>
+<li>databaseExists()
+: <a class="el" href="class_info_cdb_backend.html#a99e18dd002d2fdf388914721eb53599f">InfoCdbBackend</a>
+</li>
+<li>databasePath()
+: <a class="el" href="class_info_cdb_backend.html#a1a31a6076fc78a72e0bc00135d110fa2">InfoCdbBackend</a>
+</li>
+<li>DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a80cd4b4576989625cefc639d21bfee5d">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>declared()
+: <a class="el" href="class_context_property_info.html#a054dbdee21942623bf6e9679903e4384">ContextPropertyInfo</a>
+</li>
+<li>definition()
+: <a class="el" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef">ContextTypeInfo</a>
+</li>
+<li>destroyInstance()
+: <a class="el" href="class_info_backend.html#ae8204b17f82806015d23088f8c6776da">InfoBackend</a>
+</li>
+<li>didFail()
+: <a class="el" href="class_nano_xml.html#ab5729afbebfb708cab217298891fe31b">NanoXml</a>
+</li>
+<li>disconnectNotify()
+: <a class="el" href="class_info_backend.html#a4800fc55302f0c049c11ce3a93a204d3">InfoBackend</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9f726b29f65d7340ac2df345cf462c66">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>doc
+: <a class="el" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b">InfoKeyData</a>
+, <a class="el" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">ContextTypeInfo</a>
+, <a class="el" href="class_context_property_info.html#ad8b0cd1c2e29b63a0a672fd407ce4150">ContextPropertyInfo</a>
+</li>
+<li>docForKey()
+: <a class="el" href="class_info_xml_backend.html#a3b0753cd69c99c2fe188e7fd912a072a">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a96b65379f588dc602406449012a9ceae">InfoCdbBackend</a>
+, <a class="el" href="class_info_backend.html#af90947cb65d219d1f703683a471f649d">InfoBackend</a>
+</li>
+<li>dump()
+: <a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">AssocTree</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d2142596
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x65.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>endElement()
+: <a class="el" href="class_nano_xml.html#ae2884ebc5e4c6e60c2419ab47fb05d37">NanoXml</a>
+</li>
+<li>ensureNewTypes()
+: <a class="el" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0">ContextTypeInfo</a>
+</li>
+<li>exists()
+: <a class="el" href="class_context_property_info.html#ac5540a24a4610bb641f8e64a48d4f356">ContextPropertyInfo</a>
+</li>
+<li>existsChanged()
+: <a class="el" href="class_context_property_info.html#a9d4c44c032c884821a3cc643f759cbb2">ContextPropertyInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1e22fb42
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x66.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>failed
+: <a class="el" href="class_nano_xml.html#a4d517f665a6ffe310ba89b94f5252295">NanoXml</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a659b0f0fcb7a740975fadc55c670bbf7">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>FAILED
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f">ContextSubscriber::Provider</a>
+</li>
+<li>failed()
+: <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a2b38e3432ffbe7006ffcbe696e4331dd">ContextSubscriber::IProviderPlugin</a>
+</li>
+<li>fd
+: <a class="el" href="class_c_d_b_reader.html#a95f1693de1549bf12e299a18f678178c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#adb50416b86fe2dcb95ec16e9a5bdc6ea">CDBWriter</a>
+</li>
+<li>featureName
+: <a class="el" href="class_context_feature.html#a6938d336fbf692bd91d84687a342184b">ContextFeature</a>
+</li>
+<li>features
+: <a class="el" href="class_context_real_logger.html#a9aaf9fde5617bf1f71630f2d3c74fb6f">ContextRealLogger</a>
+</li>
+<li>fileDescriptor()
+: <a class="el" href="class_c_d_b_writer.html#a2ff2ca31100e94d445741e80dcddfee0">CDBWriter</a>
+, <a class="el" href="class_c_d_b_reader.html#a5a5b29f1d6c958ea4384f7e9680d0d3e">CDBReader</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a1fd64dc
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x67.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a34d90db9ddc691d2b687bcbeabb65d7e">ContextSubscriber::Provider</a>
+</li>
+<li>getName()
+: <a class="el" href="class_context_feature.html#a7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ab244499
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x68.html
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>handle
+: <a class="el" href="struct_context_property_private.html#ac2610b423813eb22e45a7136ed932713">ContextPropertyPrivate</a>
+</li>
+<li>HandleSignalRouter()
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#a11cb80bdb993a829a06e7338c014d45b">ContextSubscriber::HandleSignalRouter</a>
+</li>
+<li>handleSubscribes()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ab78d5f8ff72bedb037f1f2b15cbda9b9">ContextSubscriber::Provider</a>
+</li>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+</li>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+</li>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..b1a79bdd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x69.html
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>ignoreCommander()
+: <a class="el" href="class_context_property.html#a8654f1a0b2e6e3e58d6fc2830a5fbb8b">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a6001316d6491ca69ca5be43af4a36211">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>info()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a2626ff2603e1afcd8172008d5932006a">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#af5d07cd67b0c7a94d0912900e2729cbb">ContextProperty</a>
+</li>
+<li>InfoBackend()
+: <a class="el" href="class_info_backend.html#a4b9aafee7309b9e3a82eb3ca99ca173f">InfoBackend</a>
+</li>
+<li>InfoBackendUnitTest
+: <a class="el" href="class_info_backend.html#a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackend</a>
+</li>
+<li>InfoCdbBackend
+: <a class="el" href="class_info_backend.html#a84aa2becdb5d27499636a31d69e66683">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a>
+</li>
+<li>InfoCdbBackendUnitTest
+: <a class="el" href="class_info_backend.html#ad3b9d468ea4d158bc8f3a258ab5d72be">InfoBackend</a>
+</li>
+<li>InfoTestBackend
+: <a class="el" href="class_info_backend.html#a53ddc2857121c7ec9f2e1205ea05802f">InfoBackend</a>
+</li>
+<li>InfoXmlBackend
+: <a class="el" href="class_info_backend.html#a0fa89bc3c8483b7168bf136420b43fa4">InfoBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>
+</li>
+<li>InfoXmlBackendUnitTest
+: <a class="el" href="class_info_backend.html#a905a056999dd60bfa46a1cc023ee9066">InfoBackend</a>
+</li>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#ae753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+</li>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+</li>
+<li>INITIALIZING
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46">ContextSubscriber::Provider</a>
+</li>
+<li>insert()
+: <a class="el" href="class_c_d_b_writer.html#a3c54b531d448d33660b7d089118dfd4c">CDBWriter</a>
+</li>
+<li>instance()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a7f70f0de00c9781d43c99ca5d7f87eb1">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_info_backend.html#a7c627815ff574b54ecd60191468fcc94">InfoBackend</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#ad22b0b2d41d77e490f86d4979933a0b4">ContextSubscriber::HandleSignalRouter</a>
+, <a class="el" href="class_context_type_registry_info.html#a5c2ab7a27488ddcb0d486904b37b4e02">ContextTypeRegistryInfo</a>
+, <a class="el" href="class_context_registry_info.html#a93a34519ddb495338876ba0e1d1a4247">ContextRegistryInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#acf3f43a824c33ffaf349feeb9c34b5d0">ContextSubscriber::Provider</a>
+</li>
+<li>interfaceName
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a6ebfcf76e474281993e681afb15975c9">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>isReadable()
+: <a class="el" href="class_c_d_b_reader.html#a05e7a3925a61aea6a0375c05f16cc142">CDBReader</a>
+</li>
+<li>isServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac6727dbeb9c1f8ef2c101b223ef3acca">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>isSubscribePending()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a22f3af77b3cd883beeab47c5f4365169">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>isWritable()
+: <a class="el" href="class_c_d_b_writer.html#aaa1e44ad6f40ffb7de3a2ad2d361cd62">CDBWriter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..aef835c0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6b.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>key
+: <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">ContextSubscriber::PendingSubscribeWatcher</a>
+, <a class="el" href="class_context_property.html#afc2a01b6895b75e73a049e9143a16a22">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a6d4c9e5006a080e7ae645ed15b1edb28">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property_info.html#a81b41c6e79e7914c78de43a0dc642eb9">ContextPropertyInfo</a>
+</li>
+<li>keyChanged()
+: <a class="el" href="class_info_backend.html#a3962e7c993113bf00ac4fa983109aa52">InfoBackend</a>
+</li>
+<li>keyDataHash
+: <a class="el" href="class_info_xml_backend.html#a60f512bdb81310502e5d80c2b738d513">InfoXmlBackend</a>
+</li>
+<li>keyDeclared()
+: <a class="el" href="class_info_cdb_backend.html#a79ee60153f6d7113ee7c454495ed3d87">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a34f0f40564466e150f433aced83af71a">InfoXmlBackend</a>
+, <a class="el" href="class_info_backend.html#a4ff58350a0f16796b0704353f554d303">InfoBackend</a>
+</li>
+<li>keyName
+: <a class="el" href="class_context_property_info.html#ac3d71c5189748d3eee041c82864f995f">ContextPropertyInfo</a>
+</li>
+<li>keyProvidersHash
+: <a class="el" href="class_info_xml_backend.html#a6bc7baa201268651c5203c8ddf9f1eef">InfoXmlBackend</a>
+</li>
+<li>keysAdded()
+: <a class="el" href="class_info_backend.html#a159354ed05ba53b30feb861362c97ecd">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#a89e54a28e6293e102d3c6cc1c56203a8">ContextRegistryInfo</a>
+</li>
+<li>keysChanged()
+: <a class="el" href="class_info_backend.html#acdad993095c6538cd80cdd418a09fd63">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#a455bf52414fc5b7e0be384769af4dc0b">ContextRegistryInfo</a>
+</li>
+<li>keysRemoved()
+: <a class="el" href="class_context_registry_info.html#a93f77b8ca933babf05a1f26d488a5093">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#aabad9b345fa7dda6c4b3630a5afda245">InfoBackend</a>
+</li>
+<li>keyToPath()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a59577eace322abd960442ad4e86f381b">ContextSubscriber::ContextKitPlugin</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2e06a0da
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6c.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>LastValue
+: <a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6">ContextPropertyInfo</a>
+</li>
+<li>listChanged()
+: <a class="el" href="class_info_backend.html#aebe6133efbd7ee2a8c70afe44cdb06e4">InfoBackend</a>
+</li>
+<li>listeningStarted
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a2141c57da98b81259101f6e782cf92f5">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>listKeys()
+: <a class="el" href="class_context_registry_info.html#a963309761292d39921da3fb06cb31060">ContextRegistryInfo</a>
+, <a class="el" href="class_info_xml_backend.html#a74d2b52119a26ca60203ecf86721e38c">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a16a29a2335e21a73b8317d23eadb3069">InfoCdbBackend</a>
+, <a class="el" href="class_context_registry_info.html#abd90db03eb9976cab3562da345d50c19">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#ab982301f28a9655255683ad66c8f0c95">InfoBackend</a>
+</li>
+<li>listKeysForPlugin()
+: <a class="el" href="class_context_registry_info.html#a195777381facfb937a992c08c8647519">ContextRegistryInfo</a>
+</li>
+<li>listPlugins()
+: <a class="el" href="class_context_registry_info.html#a288081af4423fdc54c0e6db4591a8f34">ContextRegistryInfo</a>
+</li>
+<li>listProviders()
+: <a class="el" href="class_context_registry_info.html#acd9c94071cdd4e01e1b3f42d0e240e25">ContextRegistryInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4fffca8b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6d.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>managerIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a73f07ee2c97993ecefe0b0787cc33523">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>managerInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#afde8f2ee5e10b6625f3b023d6ad3523b">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>managerPath
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ad8141ab741a7d60ba3d1e067f0bb290e">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>mergeNullsWithMap()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a1f2999785a6f653a95a946bcc09d05ba">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a913f90d59398e97fbb363c84b0d3c403">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>moduleName
+: <a class="el" href="class_context_real_logger.html#a25735132cf3de872624cd42f0c667707">ContextRealLogger</a>
+</li>
+<li>msgType
+: <a class="el" href="class_context_real_logger.html#a2ee1b0baea9a178ad3b84b13342b0127">ContextRealLogger</a>
+</li>
+<li>myInfo
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#aaa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>myInstance
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#a73ad5f7ecb6fa6c9e2f3b95491859ecd">ContextSubscriber::HandleSignalRouter</a>
+</li>
+<li>myKey
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>myProviders
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>myValue
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c15f2be9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6e.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>name
+: <a class="el" href="struct_info_key_data.html#a224cbd09f2ffc23ea7dc12c8be85cc45">InfoKeyData</a>
+, <a class="el" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8">AssocTree</a>
+, <a class="el" href="class_info_backend.html#afa40871167e96ccc256e33b79a628ed3">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a98707e9504d1719000fec1d31de01174">InfoCdbBackend</a>
+, <a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">ContextTypeInfo</a>
+, <a class="el" href="class_info_xml_backend.html#a83ac8d65786de855c402b426222ab72b">InfoXmlBackend</a>
+</li>
+<li>nameAppeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a156d249adafb167b396e61786590480b">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>nameDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a96df4b22f35d6e39d0db58e1e26a9550">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>namespaceUri()
+: <a class="el" href="class_nano_xml.html#aae6e7c0a8785f75cb06abb27c348833b">NanoXml</a>
+</li>
+<li>NanoXml()
+: <a class="el" href="class_nano_xml.html#a6bba582991cf13e4af332ae999f650e0">NanoXml</a>
+</li>
+<li>newProtocol
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aae19463cfcd2a2925420e9befaa42783">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>newSubscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a325ac3f7f3a87587218ee90fb6dd36be">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>node()
+: <a class="el" href="class_assoc_tree.html#a050c6c6abeeb3ae50c94149849824593">AssocTree</a>
+</li>
+<li>nodes()
+: <a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">AssocTree</a>
+</li>
+<li>NotPresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>nspace
+: <a class="el" href="class_nano_xml.html#a80322fd3991316e0c5d9e42dbc024a21">NanoXml</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..96c0a7c4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x6f.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>onChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a20de105eef3bdd1de40708536a7f4238">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>onDatabaseDirectoryChanged()
+: <a class="el" href="class_info_cdb_backend.html#a9a95be7eb4456ff22f28a37fd5eb1945">InfoCdbBackend</a>
+</li>
+<li>onDatabaseFileChanged()
+: <a class="el" href="class_info_cdb_backend.html#a809ba5fe86160dd85c3221b91f480a8d">InfoCdbBackend</a>
+</li>
+<li>onDBusGetSubscriberFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a192e933ca4f023f84de709e84fbe47e7">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusGetSubscriberFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a9391a2ed305e25493a611c25ed9aa7a2">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aca1f1f90efb47950385d5814dadc573d">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a83385b7cf39ae293e6e06705f952f9a1">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusValuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a119181d213c126458f065a0b10e7e281">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDirectoryChanged()
+: <a class="el" href="class_info_xml_backend.html#aedf432bc14783ab4e9f2858a088e0643">InfoXmlBackend</a>
+</li>
+<li>onFileChanged()
+: <a class="el" href="class_info_xml_backend.html#ab2155f5c965bc1249987f6ae942d004b">InfoXmlBackend</a>
+</li>
+<li>onFinished()
+: <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ac20dc315b637a4137d6cc1830ed8e779">ContextSubscriber::PendingSubscribeWatcher</a>
+</li>
+<li>onKeyChanged()
+: <a class="el" href="class_context_property_info.html#a4dedbecfb6d9c0c0b2be0329c20e405a">ContextPropertyInfo</a>
+</li>
+<li>onKeysAdded()
+: <a class="el" href="class_context_registry_info.html#a2dee38dbb2c673b1ddab29fbe578dd44">ContextRegistryInfo</a>
+</li>
+<li>onKeysChanged()
+: <a class="el" href="class_context_registry_info.html#a93732cc21af7bfaf26a89a34c9855e26">ContextRegistryInfo</a>
+</li>
+<li>onKeysRemoved()
+: <a class="el" href="class_context_registry_info.html#aa9bd4d704c5cda390b7186bdca213dbc">ContextRegistryInfo</a>
+</li>
+<li>onListChanged()
+: <a class="el" href="class_context_registry_info.html#a3edf9b27770690632f8950a832a726a0">ContextRegistryInfo</a>
+</li>
+<li>onNameHasOwnerFinished()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#afd2c19f9dc41d1e68bc2d22a1e2ac4a7">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>onNewValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a87a7194ff406805a3b0d38f47d0a0aff">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onPluginFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a0b9a9637b9bdd8a3989cfccb14c8a24b">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginReady()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ac87916df512014e5048eda7ae9daf3b9">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ad18a07fdfb76dfa71f15f4b3e1200793">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#acbbadf63086f6b37ff9a9e8e64180032">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ac04c071faa737c9b7f029ef0125f6a1c">ContextSubscriber::Provider</a>
+</li>
+<li>onProviderAppeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aef61e0a51dad4988fe264474cb2bdd7d">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onProviderDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0ebafac80dca92564323f78a1fbfa6b7">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onQueuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ab58352ea20647142ba50d529fc1b651b">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>onServiceOwnerChanged()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#aca7dd6273d3e2335a436b34b284d1830">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>onSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a5405b720d8596ab0abbc2ce817a61b14">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#aaf730d9b2ee3d70b6ecf0990fc36de57">ContextSubscriber::HandleSignalRouter</a>
+</li>
+<li>onValueChanged()
+: <a class="el" href="class_context_property.html#a0e60707841d0012a23c3368793421937">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#af617232398fe317edf8bf00b0e6d430c">ContextSubscriber::HandleSignalRouter</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d0a471cd063b862fcf09aafd4b125af">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ae7b3f26190c4ad9e1cdbc0ce81b13e9c">ContextSubscriber::TimedValue</a>
+, <a class="el" href="struct_context_provider_info.html#aa989d7c55042d3eef5d514e017658b0c">ContextProviderInfo</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_real_logger.html#a83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_zero_logger.html#aae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#a4a3d4d64fb340a1f4adb698106ee6d4b">ContextRealLogger</a>
+</li>
+<li>operator=()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#aa9b18edfb5899e8884a1c3c7c7d5caff">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_type_registry_info.html#aed28e0db18d12acc7ac5cc996c34f2f3">ContextTypeRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#a90791486e0755836a52ff3f59279dc95">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#a3f47c39171329446d574da87b18b49ad">ContextRegistryInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c4f4960e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x70.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>parameterDoc()
+: <a class="el" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">ContextTypeInfo</a>
+</li>
+<li>parameterNode()
+: <a class="el" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">ContextTypeInfo</a>
+</li>
+<li>parameters()
+: <a class="el" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">ContextTypeInfo</a>
+</li>
+<li>parameterValue()
+: <a class="el" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">ContextTypeInfo</a>
+</li>
+<li>parseKey()
+: <a class="el" href="class_info_xml_backend.html#a59c6595edec886fd70a451102196ea5c">InfoXmlBackend</a>
+</li>
+<li>path
+: <a class="el" href="class_c_d_b_reader.html#ae38694ac8ddcf3f290616e28c163bfd5">CDBReader</a>
+</li>
+<li>pathToKey()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a3bf2af611eaccdca68e577c01b2a7607">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>PendingSubscribeWatcher()
+: <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a21b61bbfe9a39063f7b653fee7899943">ContextSubscriber::PendingSubscribeWatcher</a>
+</li>
+<li>pendingSubscriptions
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>plugin
+: <a class="el" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">ContextProviderInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#a620db59b31c197b98ee64369fd46b30e">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_property_info.html#ab67e0d20a267bae467bd449358273fbc">ContextPropertyInfo</a>
+</li>
+<li>plugin_i()
+: <a class="el" href="class_context_property_info.html#a38e61db02d8f588924d59b60a74a468a">ContextPropertyInfo</a>
+</li>
+<li>pluginChanged()
+: <a class="el" href="class_context_property_info.html#a9523b5b197a619e783b8ba3780a391aa">ContextPropertyInfo</a>
+</li>
+<li>PluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52b">ContextSubscriber::Provider</a>
+</li>
+<li>pluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a904cca899aba13b6d356fea73737169e">ContextSubscriber::Provider</a>
+</li>
+<li>popList()
+: <a class="el" href="class_nano_xml.html#adb05786203f23b7a96ee1db103582729">NanoXml</a>
+</li>
+<li>Present
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>priv
+: <a class="el" href="class_context_property.html#ade52af7df11f1b01893f99aef56ecd10">ContextProperty</a>
+</li>
+<li>PropertyHandle()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d523c4bc3538073f7f617456cd81a79">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>propertyIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0ec50bd2ac114b96bb7a2b203aa1273a">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>provided()
+: <a class="el" href="class_context_property_info.html#a9d270042f069bafc0f994b3b19804d8a">ContextPropertyInfo</a>
+</li>
+<li>providedChanged()
+: <a class="el" href="class_context_property_info.html#a37c67d07a2f0c361378ac79e6589a968">ContextPropertyInfo</a>
+</li>
+<li>Provider()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ae4221b5f1438404820abee8de2ed3daa">ContextSubscriber::Provider</a>
+</li>
+<li>providerChanged()
+: <a class="el" href="class_context_property_info.html#a19bb4eb5067f8bd9504db7733b02be26">ContextPropertyInfo</a>
+</li>
+<li>providerDBusName()
+: <a class="el" href="class_context_property_info.html#af2e6ee62ab7203f3750dc9851bf67868">ContextPropertyInfo</a>
+</li>
+<li>providerDBusName_i()
+: <a class="el" href="class_context_property_info.html#af09ce2c166d9fa87ec4c3cba6b0cabee">ContextPropertyInfo</a>
+</li>
+<li>providerDBusType()
+: <a class="el" href="class_context_property_info.html#aee09f09db9cc631bc3d175cae7f0f671">ContextPropertyInfo</a>
+</li>
+<li>providerDBusType_i()
+: <a class="el" href="class_context_property_info.html#ad4dc52a73150d57b19b2b37a07ff1342">ContextPropertyInfo</a>
+</li>
+<li>providerDBusTypeChanged()
+: <a class="el" href="class_context_property_info.html#a5c03f07e13e9decec21d9bcc415bd35c">ContextPropertyInfo</a>
+</li>
+<li>providerInfo
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a6e8a91f8a673fb8f2f645212844eb421">ContextSubscriber::Provider</a>
+</li>
+<li>providerListener
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0e34a8c4b3dafd66d2a094cf2ee22424">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>providers()
+: <a class="el" href="class_context_property_info.html#a9260be377cc7d8124140701a7d72e62f">ContextPropertyInfo</a>
+</li>
+<li>providersForKey()
+: <a class="el" href="class_info_backend.html#a29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>
+, <a class="el" href="class_info_xml_backend.html#af72852cc9ec862658d2be1d59be536c0">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#ac28d61755c842e1226fbd4e44f69a040">InfoCdbBackend</a>
+</li>
+<li>pushList()
+: <a class="el" href="class_nano_xml.html#a750f872971e1b36ecffc4ead3250e17d">NanoXml</a>
+</li>
+<li>put()
+: <a class="el" href="class_c_d_b_writer.html#acb6cbc68cd6370bbdbeb0f08163dbca5">CDBWriter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c46e8915
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x71.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
+<li>queuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a9e3fb1afd2eea8cb4b588f3d80bf2e3e">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>QueuedInvoker()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a15135b7f30c409e3b8d0cd856444803a">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>queueOnce()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a431ca591c990aa22bffb1cfed4b42aff">ContextSubscriber::QueuedInvoker</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..e2411398
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x72.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>reader
+: <a class="el" href="class_info_cdb_backend.html#ac58abb26efac881051ae758d57aa3738">InfoCdbBackend</a>
+</li>
+<li>readKeyDataFromXml()
+: <a class="el" href="class_info_xml_backend.html#ab5d85a566993462042838c786700f7f8">InfoXmlBackend</a>
+</li>
+<li>ready()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#acb1ad4d2dafa9c137acff2a84916686f">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a236ba3dcfb3fd566fffb89e05855dbf8">ContextSubscriber::IProviderPlugin</a>
+</li>
+<li>READY
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1">ContextSubscriber::Provider</a>
+</li>
+<li>regenerateKeyDataList()
+: <a class="el" href="class_info_xml_backend.html#a1407eccac5cb06f88fc6014d4ee25f48">InfoXmlBackend</a>
+</li>
+<li>registryInstance
+: <a class="el" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83">ContextTypeRegistryInfo</a>
+, <a class="el" href="class_context_registry_info.html#a26fbeceb6cc6034badaa3593a93c086a">ContextRegistryInfo</a>
+</li>
+<li>registryPath()
+: <a class="el" href="class_context_type_registry_info.html#a988d768b9a8fd1dc46db67d2d7af563d">ContextTypeRegistryInfo</a>
+, <a class="el" href="class_info_xml_backend.html#aeba0f378c01b6740c53ea977c10947b0">InfoXmlBackend</a>
+</li>
+<li>reopen()
+: <a class="el" href="class_c_d_b_reader.html#a32774adde1a5edcf80e2ccd981d93eb5">CDBReader</a>
+</li>
+<li>replace()
+: <a class="el" href="class_c_d_b_writer.html#aee735f7f3c2540e8dfe180bc2775dfb5">CDBWriter</a>
+</li>
+<li>reset()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ad5959b9c2e4976ad24025492bfd9109c">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>resolutionStrategy()
+: <a class="el" href="class_context_property_info.html#a4afd9d028d9d13f6e3fb9b7be1cb84d3">ContextPropertyInfo</a>
+</li>
+<li>ResolutionStrategy
+: <a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo</a>
+</li>
+<li>result()
+: <a class="el" href="class_nano_xml.html#a452fbcd08e639557de164fbf6e9af265">NanoXml</a>
+</li>
+<li>rootVariant
+: <a class="el" href="class_nano_xml.html#a2e0c55cb00dfdfcb09191b685c9c7624">NanoXml</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..e3354467
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x73.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SafeDBusPendingCallWatcher()
+: <a class="el" href="class_safe_d_bus_pending_call_watcher.html#a42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a>
+</li>
+<li>ServicePresence
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032d">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>servicePresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ab1dd997605d2d5ef768c1b113ee42c52">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>setServiceGone()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a2a28de9dd87121d688410053a025c470">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>setServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a888a8557a7246d7c268e8037220f3156">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>setSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#afc48b064e1b5be372519391772fc7ea8">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>setTypeCheck()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a3031c1cf5c5d3ccdcf91a2218c2e460e">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#a47a70ecc83ea7b819728a3430d860100">ContextProperty</a>
+</li>
+<li>shouldPrint()
+: <a class="el" href="class_context_real_logger.html#adb17a18fe2b4e07d23484b3e62661d4b">ContextRealLogger</a>
+</li>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+</li>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+</li>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+</li>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+</li>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+</li>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+</li>
+<li>signalSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a3046efee2679aa33602deb4f27877eba">ContextSubscriber::Provider</a>
+</li>
+<li>stack
+: <a class="el" href="class_nano_xml.html#afec8c67035475122807dfacfcd0c3563">NanoXml</a>
+</li>
+<li>startElement()
+: <a class="el" href="class_nano_xml.html#a9a53418260e9b9ae8bc3da9b0fae2b35">NanoXml</a>
+</li>
+<li>startListening()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a29c51998308e0448bee857df8f8206cc">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>startPrefixMapping()
+: <a class="el" href="class_nano_xml.html#abb825f9876e40c023c0b3b1ab0b09828">NanoXml</a>
+</li>
+<li>subscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aa45ae69058525f998ed5eb0c275cac75">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#a5e6f52ce5ba6e7d07240ce84c2cc7326">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a96f3f5ea81859ddfef63c0e064cba365">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a0b12828c764b164dc276a84d46c2ae55">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#a063cf90bfd10f0bca4ed471f2c3a9c1e">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#ada9126ec7363321f97124a4edc6553ec">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>subscribeCount
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a809f0eae9aef4ffec99f035b7e0e547f">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>subscribeCountLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>subscribed
+: <a class="el" href="struct_context_property_private.html#a8fa3197617a450a91c4c4bbca5cdbecd">ContextPropertyPrivate</a>
+</li>
+<li>subscribedKeys
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a6b07417f7e024f8dac5b3b327383dbe9">ContextSubscriber::Provider</a>
+</li>
+<li>subscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a803a4bf54f2017025bc314fc14702513">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#ae62e69b51185cb0437230916cc306548">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a0e99f03c74e942caed4a12013771a4d2">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a305b5626247bf297ab33aeefbdbc5f88">ContextSubscriber::PendingSubscribeWatcher</a>
+</li>
+<li>subscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a1705fc2b48624313ef52f279ede97e5b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a68cf30909195fcadb259056ad8a8d9ba">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ae9e3fd6b453ad968096ae574030bc9b7">ContextSubscriber::PendingSubscribeWatcher</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#afd4795579900229d0710f2a1a707df16">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a4a3fcd522bbb2cc67c5821bcf15ed3d4">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>subscribeLock
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a154fa6041cd471ac46c1038f312ffde6">ContextSubscriber::Provider</a>
+</li>
+<li>subscriberIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ac65d96beebc2af0eda5b79462c531836">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>subscriberInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ac5cf234581bce7834ff86d57b5bcb331">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>SubscriberInterface()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a87e096c9a1ecfb1453d29722731fbb51">ContextSubscriber::SubscriberInterface</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..82aace10
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x74.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>time
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">ContextSubscriber::TimedValue</a>
+</li>
+<li>TimedValue()
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">ContextSubscriber::TimedValue</a>
+</li>
+<li>toSubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#acbf130166861d576d906fc99da9b2d6d">ContextSubscriber::Provider</a>
+</li>
+<li>toUnsubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#aee2cca89bff8d2bc65039a42cb32563c">ContextSubscriber::Provider</a>
+</li>
+<li>type()
+: <a class="el" href="class_context_list_info.html#a08286f38aff16c4bbac3cff24a990e37">ContextListInfo</a>
+, <a class="el" href="class_context_property_info.html#a7f8e0cc9c8439e6ec109a16a80a2d3fc">ContextPropertyInfo</a>
+</li>
+<li>typeCache
+: <a class="el" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">ContextTypeRegistryInfo</a>
+</li>
+<li>typeChanged()
+: <a class="el" href="class_context_property_info.html#affead559621ed710667dddafd240db58">ContextPropertyInfo</a>
+</li>
+<li>typeCheckEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a27312e770b51ebf5439e31361ceb46c4">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>typeDefinitionForName()
+: <a class="el" href="class_context_type_registry_info.html#a20121b701a3d3293e99804ca5841d36e">ContextTypeRegistryInfo</a>
+</li>
+<li>typeInfo()
+: <a class="el" href="class_context_property_info.html#abaa8292d4ff8b4b73c376e9ff0a9e215">ContextPropertyInfo</a>
+, <a class="el" href="struct_info_key_data.html#a08cfc371d93579535850f38bf87fab7b">InfoKeyData</a>
+</li>
+<li>typeInfoForKey()
+: <a class="el" href="class_info_backend.html#a96772d269c583b286607aad334efba94">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#af81a9d1966feeae616445587e4b18de4">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#ae2ffd838ca91a653ea2f18cfa35c8799">InfoXmlBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..153297a4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x75.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>Unknown
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>unsubscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a4936904e1483e3f06c86e10d65a39e50">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a9a5410b5898e5d1efde167752696f2f5">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a4227c404be7915805dbab93e0704914d">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#aa6aa042d4a006eb0930d7805139e801f">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#ad1e8961717be9c3a813096092d1837a4">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#afa0ef21efe3c1c5d2b5936cda8feb350">ContextProperty</a>
+</li>
+<li>updateProvider()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a067242c57b142940ba02b1e5a74548d5">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..40565e8a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x76.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value
+: <a class="el" href="struct_context_property_private.html#a791be72a33207ec899155fb4f2689e13">ContextPropertyPrivate</a>
+, <a class="el" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">ContextSubscriber::TimedValue</a>
+, <a class="el" href="class_assoc_tree.html#ae396650bfb964d4aa4535af0b63ac488">AssocTree</a>
+, <a class="el" href="class_context_property.html#a9853332036f43724b65162acc432753a">ContextProperty</a>
+, <a class="el" href="class_assoc_tree.html#a556e85ecc5ebaa14e7e141703ba4d7a5">AssocTree</a>
+, <a class="el" href="class_context_property.html#a4c295fefdf793557472959f9e2f3e18c">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#abfeb2b16704e22adc33c31e162ef4e36">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">AssocTree</a>
+</li>
+<li>valueChanged()
+: <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a3a106b2d49454337f9269b2ffb07647e">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a0ceee4d69e18be36e726af552aaa58ba">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#a6288252eecf25f879ecb7c1a507a9088">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a2ad4c5c689328e78b02ef598994d447c">ContextSubscriber::PendingSubscribeWatcher</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a5603631c4a9e7f6a4cbe05af6dfe5c48">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#adee3726fee9fbbcb92c7fb3ba2e04c49">ContextProperty</a>
+</li>
+<li>valueForKey()
+: <a class="el" href="class_c_d_b_reader.html#a65d872621906917c9f72bcfebf24343b">CDBReader</a>
+</li>
+<li>valueLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>values
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a6e41ed2ec544fc16bd399d8fbcec46ed">ContextSubscriber::Provider</a>
+</li>
+<li>valuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a960dc79d9b47fbbda16e6eed05826c5d">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>valuesForKey()
+: <a class="el" href="class_c_d_b_reader.html#a0ad9d8670836cc8ce12a2f364495aa5c">CDBReader</a>
+</li>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</li>
+<li>variantListToStringList()
+: <a class="el" href="class_info_cdb_backend.html#a8d422f8e80ad4feb74620c6dd793cefd">InfoCdbBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..33b2b1ea
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x77.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_w">- w -</a></h3><ul>
+<li>waitForSubscription()
+: <a class="el" href="class_context_property.html#a8377eacd97cfccf349b7167f33414888">ContextProperty</a>
+</li>
+<li>watch()
+: <a class="el" href="class_info_cdb_backend.html#af9a982a33f464a0579357fbc53e3305c">InfoCdbBackend</a>
+</li>
+<li>watcher
+: <a class="el" href="class_info_cdb_backend.html#ab3f82f73e8f0c453716cfe0142b19d45">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a6ed00727580f66f06f33ecdb2a7581e7">InfoXmlBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..cca75590
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_0x7e.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#abd17716f2bcfc205ddf9ab47b5005a8a">CDBReader</a>
+</li>
+<li>~CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#ae8f20236cbe613623d71af092d0aeaf6">CDBWriter</a>
+</li>
+<li>~ContextProperty()
+: <a class="el" href="class_context_property.html#addc93c0539a8ffd2c2c9439e5ccd8628">ContextProperty</a>
+</li>
+<li>~ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#a1c06eaa93db43664c42435c4a0394d8d">ContextPropertyInfo</a>
+</li>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ad45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+</li>
+<li>~DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a0049dbd454615122dcfca92253b7e7d7">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>~NanoXml()
+: <a class="el" href="class_nano_xml.html#a940fbfce7d0fab29a5ba6b5b840c4d71">NanoXml</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d963cf9c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_enum.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>PluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52b">ContextSubscriber::Provider</a>
+</li>
+<li>ResolutionStrategy
+: <a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479c">ContextPropertyInfo</a>
+</li>
+<li>ServicePresence
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032d">ContextSubscriber::DBusNameListener</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..08eda822
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_eval.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>FAILED
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f">ContextSubscriber::Provider</a>
+</li>
+<li>INITIALIZING
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46">ContextSubscriber::Provider</a>
+</li>
+<li>LastValue
+: <a class="el" href="class_context_property_info.html#a28c493f959d7a48c85dc86281c78479cafc7ad7e5ca4c9e873a59ca5fb40212f6">ContextPropertyInfo</a>
+</li>
+<li>NotPresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dae05cd8cfb673aebec9380153d11a8884">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>Present
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032da7d8b53934031f453839328d87f1602ab">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>READY
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1">ContextSubscriber::Provider</a>
+</li>
+<li>Unknown
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac265c0eaa26e4e3b3c3182652563032dad3f04d9af475c8f8a465d7aa0e0bd48c">ContextSubscriber::DBusNameListener</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c7936f9f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_a">- a -</a></h3><ul>
+<li>add()
+: <a class="el" href="class_c_d_b_writer.html#a7badfc7cd1c94ef07a3c630c0f0bd0fb">CDBWriter</a>
+</li>
+<li>addValue()
+: <a class="el" href="class_nano_xml.html#a0820f7cc298465a54350f998af40d929">NanoXml</a>
+</li>
+<li>appendFeatures()
+: <a class="el" href="class_context_real_logger.html#a1f6e0152e1e606b00e45f720d4eeba99">ContextRealLogger</a>
+</li>
+<li>AssocTree()
+: <a class="el" href="class_assoc_tree.html#aa9c0a11b88c8bede08d53632196f5c9b">AssocTree</a>
+</li>
+<li>AsyncDBusInterface()
+: <a class="el" href="class_async_d_bus_interface.html#a744b95cd3be282e83cf0fdc63e41144b">AsyncDBusInterface</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..80064602
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x62.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>backendName()
+: <a class="el" href="class_context_registry_info.html#a8af42fc0ba5306234d06a238056cce99">ContextRegistryInfo</a>
+</li>
+<li>base()
+: <a class="el" href="class_context_type_info.html#a86ef420ba51f5a877b3536f5cf3f2b34">ContextTypeInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6e4079bc
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x63.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#ada59740e3d69efc32db88cdb4514dcfa">CDBReader</a>
+</li>
+<li>CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#ae40a943a3cf86d6ca9b5350357d83a74">CDBWriter</a>
+</li>
+<li>Changed()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#aaf5cbaccd8318fd13389b2da11b03e7c">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>changed()
+: <a class="el" href="class_context_property_info.html#a9d85cc8d48f34bb01e168dac265b65a1">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#ab812fc743282bca20289cd6b28f7de14">ContextRegistryInfo</a>
+</li>
+<li>characters()
+: <a class="el" href="class_nano_xml.html#ad051fdc20099f73a6595cb229e5c5854">NanoXml</a>
+</li>
+<li>checkAndEmitKeyChanged()
+: <a class="el" href="class_info_backend.html#ad770d30f718c8110a6e14371293829b9">InfoBackend</a>
+</li>
+<li>checkAndEmitKeysAdded()
+: <a class="el" href="class_info_backend.html#a26dea7269e293f178ca7a855bd8085eb">InfoBackend</a>
+</li>
+<li>checkAndEmitKeysRemoved()
+: <a class="el" href="class_info_backend.html#a2229c5a5b2c85b50746497bed16735c2">InfoBackend</a>
+</li>
+<li>choiceDoc()
+: <a class="el" href="class_context_string_enum_info.html#a110f0b9e727a866d3d036fb5d2ab1f98">ContextStringEnumInfo</a>
+</li>
+<li>choices()
+: <a class="el" href="class_context_string_enum_info.html#a0d5c4a1ac7e645f0c1e8a6bbc507e492">ContextStringEnumInfo</a>
+</li>
+<li>clearValues()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ae2569ebe40afb18160eccc699574e3c7">ContextSubscriber::Provider</a>
+</li>
+<li>close()
+: <a class="el" href="class_c_d_b_reader.html#a4a6881b3b4fd14c2badcdbbfc1a5741c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#a8de500cd2916cca7709862624fd52728">CDBWriter</a>
+</li>
+<li>connectNotify()
+: <a class="el" href="class_context_property_info.html#a2453fc77a1afba74a661d8c15836e69d">ContextPropertyInfo</a>
+, <a class="el" href="class_context_registry_info.html#aa25ae78e991e72aba1442487e3a7661d">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#ab0db0c312a540b4b6d49c434c8cf64bd">InfoBackend</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a1c7ee2c99941a60bc1a3d43aa794063b">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>constructionString()
+: <a class="el" href="class_context_property_info.html#ac638ba6bd9336c58174fa8bb20fa7d4e">ContextPropertyInfo</a>
+</li>
+<li>constructionString_i()
+: <a class="el" href="class_context_property_info.html#a36db2252d9263d4f45aafaf57392d467">ContextPropertyInfo</a>
+</li>
+<li>constructPlugin()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a1e2136dc7c4ad62b020c7ed95914bb67">ContextSubscriber::Provider</a>
+</li>
+<li>ContextFeature()
+: <a class="el" href="class_context_feature.html#af1dc3766a0b0e21ba0a2f22a3102d09b">ContextFeature</a>
+</li>
+<li>ContextKitPlugin()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ab3728dd869ea64e058f4f7c35a4bb067">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>ContextListInfo()
+: <a class="el" href="class_context_list_info.html#a0d0accd5824d707768c23064ad7ce66c">ContextListInfo</a>
+</li>
+<li>ContextProperty()
+: <a class="el" href="class_context_property.html#a79283034949fe9cf79106b7ea221439a">ContextProperty</a>
+</li>
+<li>ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#add1b6db4bfb5c36cd6ae9b9352112c4c">ContextPropertyInfo</a>
+</li>
+<li>ContextProviderInfo()
+: <a class="el" href="struct_context_provider_info.html#a4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a>
+</li>
+<li>ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#aee3a7c4dac60f4ec39165edf96466637">ContextRealLogger</a>
+</li>
+<li>ContextRegistryInfo()
+: <a class="el" href="class_context_registry_info.html#a706d267298633d4e7e8a64bb9f51d37a">ContextRegistryInfo</a>
+</li>
+<li>ContextStringEnumInfo()
+: <a class="el" href="class_context_string_enum_info.html#a1060740ec44d6dd57c15c7334e4f9c69">ContextStringEnumInfo</a>
+</li>
+<li>ContextTypeInfo()
+: <a class="el" href="class_context_type_info.html#ae8d1906dff90f43abfaeb610977bd98a">ContextTypeInfo</a>
+</li>
+<li>ContextTypeRegistryInfo()
+: <a class="el" href="class_context_type_registry_info.html#a5344c1f657439f0c240e1cf8df9f9743">ContextTypeRegistryInfo</a>
+</li>
+<li>ContextZeroLogger()
+: <a class="el" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7">ContextZeroLogger</a>
+</li>
+<li>coreDeclPath()
+: <a class="el" href="class_info_xml_backend.html#ae919a19ac7fc38f60048b900d49c41d5">InfoXmlBackend</a>
+</li>
+<li>coreTypesPath()
+: <a class="el" href="class_context_type_registry_info.html#a1fe24a4cdfc689ceee6f713b3fe2124a">ContextTypeRegistryInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a0dc4643
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x64.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>databaseDirectory()
+: <a class="el" href="class_info_cdb_backend.html#a2ec440b4df1e409e6cf74f5fd514fb6c">InfoCdbBackend</a>
+</li>
+<li>databaseExists()
+: <a class="el" href="class_info_cdb_backend.html#a99e18dd002d2fdf388914721eb53599f">InfoCdbBackend</a>
+</li>
+<li>databasePath()
+: <a class="el" href="class_info_cdb_backend.html#a1a31a6076fc78a72e0bc00135d110fa2">InfoCdbBackend</a>
+</li>
+<li>DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a80cd4b4576989625cefc639d21bfee5d">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>declared()
+: <a class="el" href="class_context_property_info.html#a054dbdee21942623bf6e9679903e4384">ContextPropertyInfo</a>
+</li>
+<li>definition()
+: <a class="el" href="class_context_type_info.html#a4accf5b9acaa99aa35cedb59b83bebef">ContextTypeInfo</a>
+</li>
+<li>destroyInstance()
+: <a class="el" href="class_info_backend.html#ae8204b17f82806015d23088f8c6776da">InfoBackend</a>
+</li>
+<li>didFail()
+: <a class="el" href="class_nano_xml.html#ab5729afbebfb708cab217298891fe31b">NanoXml</a>
+</li>
+<li>disconnectNotify()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a9f726b29f65d7340ac2df345cf462c66">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_info_backend.html#a4800fc55302f0c049c11ce3a93a204d3">InfoBackend</a>
+</li>
+<li>doc()
+: <a class="el" href="class_context_type_info.html#ad2ab665b4620fef60762a50b782b0413">ContextTypeInfo</a>
+, <a class="el" href="class_context_property_info.html#ad8b0cd1c2e29b63a0a672fd407ce4150">ContextPropertyInfo</a>
+</li>
+<li>docForKey()
+: <a class="el" href="class_info_backend.html#af90947cb65d219d1f703683a471f649d">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a96b65379f588dc602406449012a9ceae">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a3b0753cd69c99c2fe188e7fd912a072a">InfoXmlBackend</a>
+</li>
+<li>dump()
+: <a class="el" href="class_assoc_tree.html#a86fddfd70f6bd0ae64890dd38b4880ca">AssocTree</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ec81c85c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x65.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
+<li>endElement()
+: <a class="el" href="class_nano_xml.html#ae2884ebc5e4c6e60c2419ab47fb05d37">NanoXml</a>
+</li>
+<li>ensureNewTypes()
+: <a class="el" href="class_context_type_info.html#ab6666873c5aae3244784a8e69748b4d0">ContextTypeInfo</a>
+</li>
+<li>exists()
+: <a class="el" href="class_context_property_info.html#ac5540a24a4610bb641f8e64a48d4f356">ContextPropertyInfo</a>
+</li>
+<li>existsChanged()
+: <a class="el" href="class_context_property_info.html#a9d4c44c032c884821a3cc643f759cbb2">ContextPropertyInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..5401cbb3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x66.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>failed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a659b0f0fcb7a740975fadc55c670bbf7">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a2b38e3432ffbe7006ffcbe696e4331dd">ContextSubscriber::IProviderPlugin</a>
+</li>
+<li>fileDescriptor()
+: <a class="el" href="class_c_d_b_reader.html#a5a5b29f1d6c958ea4384f7e9680d0d3e">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#a2ff2ca31100e94d445741e80dcddfee0">CDBWriter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..edc26904
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x67.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
+<li>get()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a34d90db9ddc691d2b687bcbeabb65d7e">ContextSubscriber::Provider</a>
+</li>
+<li>getName()
+: <a class="el" href="class_context_feature.html#a7c0d22d25f95a49373b195d8c55d1dc7">ContextFeature</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1968e628
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x68.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>HandleSignalRouter()
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#a11cb80bdb993a829a06e7338c014d45b">ContextSubscriber::HandleSignalRouter</a>
+</li>
+<li>handleSubscribes()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ab78d5f8ff72bedb037f1f2b15cbda9b9">ContextSubscriber::Provider</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3fcef6f2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x69.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>ignoreCommander()
+: <a class="el" href="class_context_property.html#a8654f1a0b2e6e3e58d6fc2830a5fbb8b">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a6001316d6491ca69ca5be43af4a36211">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>info()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a2626ff2603e1afcd8172008d5932006a">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_property.html#af5d07cd67b0c7a94d0912900e2729cbb">ContextProperty</a>
+</li>
+<li>InfoBackend()
+: <a class="el" href="class_info_backend.html#a4b9aafee7309b9e3a82eb3ca99ca173f">InfoBackend</a>
+</li>
+<li>InfoCdbBackend()
+: <a class="el" href="class_info_cdb_backend.html#a8e31c8ded7f1620ab626d17f23bf3042">InfoCdbBackend</a>
+</li>
+<li>InfoXmlBackend()
+: <a class="el" href="class_info_xml_backend.html#a85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>
+</li>
+<li>initialize()
+: <a class="el" href="class_context_real_logger.html#ae753079d62a886dd09c0576ad524c8f4">ContextRealLogger</a>
+</li>
+<li>insert()
+: <a class="el" href="class_c_d_b_writer.html#a3c54b531d448d33660b7d089118dfd4c">CDBWriter</a>
+</li>
+<li>instance()
+: <a class="el" href="class_context_registry_info.html#a93a34519ddb495338876ba0e1d1a4247">ContextRegistryInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#acf3f43a824c33ffaf349feeb9c34b5d0">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#ad22b0b2d41d77e490f86d4979933a0b4">ContextSubscriber::HandleSignalRouter</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a7f70f0de00c9781d43c99ca5d7f87eb1">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_info_backend.html#a7c627815ff574b54ecd60191468fcc94">InfoBackend</a>
+, <a class="el" href="class_context_type_registry_info.html#a5c2ab7a27488ddcb0d486904b37b4e02">ContextTypeRegistryInfo</a>
+</li>
+<li>isReadable()
+: <a class="el" href="class_c_d_b_reader.html#a05e7a3925a61aea6a0375c05f16cc142">CDBReader</a>
+</li>
+<li>isServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ac6727dbeb9c1f8ef2c101b223ef3acca">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>isSubscribePending()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a22f3af77b3cd883beeab47c5f4365169">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>isWritable()
+: <a class="el" href="class_c_d_b_writer.html#aaa1e44ad6f40ffb7de3a2ad2d361cd62">CDBWriter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3c40e75e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6b.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>key()
+: <a class="el" href="class_context_property.html#afc2a01b6895b75e73a049e9143a16a22">ContextProperty</a>
+, <a class="el" href="class_context_property_info.html#a81b41c6e79e7914c78de43a0dc642eb9">ContextPropertyInfo</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a6d4c9e5006a080e7ae645ed15b1edb28">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>keyChanged()
+: <a class="el" href="class_info_backend.html#a3962e7c993113bf00ac4fa983109aa52">InfoBackend</a>
+</li>
+<li>keyDeclared()
+: <a class="el" href="class_info_backend.html#a4ff58350a0f16796b0704353f554d303">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a79ee60153f6d7113ee7c454495ed3d87">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a34f0f40564466e150f433aced83af71a">InfoXmlBackend</a>
+</li>
+<li>keysAdded()
+: <a class="el" href="class_context_registry_info.html#a89e54a28e6293e102d3c6cc1c56203a8">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#a159354ed05ba53b30feb861362c97ecd">InfoBackend</a>
+</li>
+<li>keysChanged()
+: <a class="el" href="class_context_registry_info.html#a455bf52414fc5b7e0be384769af4dc0b">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#acdad993095c6538cd80cdd418a09fd63">InfoBackend</a>
+</li>
+<li>keysRemoved()
+: <a class="el" href="class_info_backend.html#aabad9b345fa7dda6c4b3630a5afda245">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#a93f77b8ca933babf05a1f26d488a5093">ContextRegistryInfo</a>
+</li>
+<li>keyToPath()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a59577eace322abd960442ad4e86f381b">ContextSubscriber::ContextKitPlugin</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..400fe8d6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6c.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>listChanged()
+: <a class="el" href="class_info_backend.html#aebe6133efbd7ee2a8c70afe44cdb06e4">InfoBackend</a>
+</li>
+<li>listKeys()
+: <a class="el" href="class_context_registry_info.html#a963309761292d39921da3fb06cb31060">ContextRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#ab982301f28a9655255683ad66c8f0c95">InfoBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#a16a29a2335e21a73b8317d23eadb3069">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a74d2b52119a26ca60203ecf86721e38c">InfoXmlBackend</a>
+, <a class="el" href="class_context_registry_info.html#abd90db03eb9976cab3562da345d50c19">ContextRegistryInfo</a>
+</li>
+<li>listKeysForPlugin()
+: <a class="el" href="class_context_registry_info.html#a195777381facfb937a992c08c8647519">ContextRegistryInfo</a>
+</li>
+<li>listPlugins()
+: <a class="el" href="class_context_registry_info.html#a288081af4423fdc54c0e6db4591a8f34">ContextRegistryInfo</a>
+</li>
+<li>listProviders()
+: <a class="el" href="class_context_registry_info.html#acd9c94071cdd4e01e1b3f42d0e240e25">ContextRegistryInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..45171ac9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6d.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>mergeNullsWithMap()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a1f2999785a6f653a95a946bcc09d05ba">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a913f90d59398e97fbb363c84b0d3c403">ContextSubscriber::SubscriberInterface</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..346239f8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6e.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>name()
+: <a class="el" href="class_assoc_tree.html#a60486351567cdfb026beaee14bcd8fe8">AssocTree</a>
+, <a class="el" href="class_context_type_info.html#a94c21d0d11ef748f965b9cc4fe102b02">ContextTypeInfo</a>
+, <a class="el" href="class_info_cdb_backend.html#a98707e9504d1719000fec1d31de01174">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a83ac8d65786de855c402b426222ab72b">InfoXmlBackend</a>
+, <a class="el" href="class_info_backend.html#afa40871167e96ccc256e33b79a628ed3">InfoBackend</a>
+</li>
+<li>nameAppeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a156d249adafb167b396e61786590480b">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>nameDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a96df4b22f35d6e39d0db58e1e26a9550">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>namespaceUri()
+: <a class="el" href="class_nano_xml.html#aae6e7c0a8785f75cb06abb27c348833b">NanoXml</a>
+</li>
+<li>NanoXml()
+: <a class="el" href="class_nano_xml.html#a6bba582991cf13e4af332ae999f650e0">NanoXml</a>
+</li>
+<li>newSubscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a325ac3f7f3a87587218ee90fb6dd36be">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>node()
+: <a class="el" href="class_assoc_tree.html#a56c5c190fd1bc330815d530eba81190a">AssocTree</a>
+</li>
+<li>nodes()
+: <a class="el" href="class_assoc_tree.html#a49284f57a3bb6c4400b3fe74cb476c52">AssocTree</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..fe1144e2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x6f.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_o">- o -</a></h3><ul>
+<li>onChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a20de105eef3bdd1de40708536a7f4238">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>onDatabaseDirectoryChanged()
+: <a class="el" href="class_info_cdb_backend.html#a9a95be7eb4456ff22f28a37fd5eb1945">InfoCdbBackend</a>
+</li>
+<li>onDatabaseFileChanged()
+: <a class="el" href="class_info_cdb_backend.html#a809ba5fe86160dd85c3221b91f480a8d">InfoCdbBackend</a>
+</li>
+<li>onDBusGetSubscriberFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a192e933ca4f023f84de709e84fbe47e7">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusGetSubscriberFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a9391a2ed305e25493a611c25ed9aa7a2">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aca1f1f90efb47950385d5814dadc573d">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a83385b7cf39ae293e6e06705f952f9a1">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDBusValuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a119181d213c126458f065a0b10e7e281">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onDirectoryChanged()
+: <a class="el" href="class_info_xml_backend.html#aedf432bc14783ab4e9f2858a088e0643">InfoXmlBackend</a>
+</li>
+<li>onFileChanged()
+: <a class="el" href="class_info_xml_backend.html#ab2155f5c965bc1249987f6ae942d004b">InfoXmlBackend</a>
+</li>
+<li>onFinished()
+: <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ac20dc315b637a4137d6cc1830ed8e779">ContextSubscriber::PendingSubscribeWatcher</a>
+</li>
+<li>onKeyChanged()
+: <a class="el" href="class_context_property_info.html#a4dedbecfb6d9c0c0b2be0329c20e405a">ContextPropertyInfo</a>
+</li>
+<li>onKeysAdded()
+: <a class="el" href="class_context_registry_info.html#a2dee38dbb2c673b1ddab29fbe578dd44">ContextRegistryInfo</a>
+</li>
+<li>onKeysChanged()
+: <a class="el" href="class_context_registry_info.html#a93732cc21af7bfaf26a89a34c9855e26">ContextRegistryInfo</a>
+</li>
+<li>onKeysRemoved()
+: <a class="el" href="class_context_registry_info.html#aa9bd4d704c5cda390b7186bdca213dbc">ContextRegistryInfo</a>
+</li>
+<li>onListChanged()
+: <a class="el" href="class_context_registry_info.html#a3edf9b27770690632f8950a832a726a0">ContextRegistryInfo</a>
+</li>
+<li>onNameHasOwnerFinished()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#afd2c19f9dc41d1e68bc2d22a1e2ac4a7">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>onNewValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a87a7194ff406805a3b0d38f47d0a0aff">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onPluginFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a0b9a9637b9bdd8a3989cfccb14c8a24b">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginReady()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ac87916df512014e5048eda7ae9daf3b9">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginSubscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ad18a07fdfb76dfa71f15f4b3e1200793">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#acbbadf63086f6b37ff9a9e8e64180032">ContextSubscriber::Provider</a>
+</li>
+<li>onPluginValueChanged()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ac04c071faa737c9b7f029ef0125f6a1c">ContextSubscriber::Provider</a>
+</li>
+<li>onProviderAppeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aef61e0a51dad4988fe264474cb2bdd7d">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onProviderDisappeared()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0ebafac80dca92564323f78a1fbfa6b7">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>onQueuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ab58352ea20647142ba50d529fc1b651b">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>onServiceOwnerChanged()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#aca7dd6273d3e2335a436b34b284d1830">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>onSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a5405b720d8596ab0abbc2ce817a61b14">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#aaf730d9b2ee3d70b6ecf0990fc36de57">ContextSubscriber::HandleSignalRouter</a>
+</li>
+<li>onValueChanged()
+: <a class="el" href="class_context_property.html#a0e60707841d0012a23c3368793421937">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#af617232398fe317edf8bf00b0e6d430c">ContextSubscriber::HandleSignalRouter</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d0a471cd063b862fcf09aafd4b125af">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>operator&lt;()
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ae7b3f26190c4ad9e1cdbc0ce81b13e9c">ContextSubscriber::TimedValue</a>
+, <a class="el" href="struct_context_provider_info.html#aa989d7c55042d3eef5d514e017658b0c">ContextProviderInfo</a>
+</li>
+<li>operator&lt;&lt;()
+: <a class="el" href="class_context_real_logger.html#a83a9a63cef3753053154b86da8da52bb">ContextRealLogger</a>
+, <a class="el" href="class_context_zero_logger.html#aae39e44e016d29a07bd076470bc171bb">ContextZeroLogger</a>
+, <a class="el" href="class_context_real_logger.html#a4a3d4d64fb340a1f4adb698106ee6d4b">ContextRealLogger</a>
+</li>
+<li>operator=()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#aa9b18edfb5899e8884a1c3c7c7d5caff">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_type_registry_info.html#aed28e0db18d12acc7ac5cc996c34f2f3">ContextTypeRegistryInfo</a>
+, <a class="el" href="class_info_backend.html#a90791486e0755836a52ff3f59279dc95">InfoBackend</a>
+, <a class="el" href="class_context_registry_info.html#a3f47c39171329446d574da87b18b49ad">ContextRegistryInfo</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..55087ebd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x70.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>parameterDoc()
+: <a class="el" href="class_context_type_info.html#a7d917636b33732b5dd67d12629351fb2">ContextTypeInfo</a>
+</li>
+<li>parameterNode()
+: <a class="el" href="class_context_type_info.html#a5ef996f1ec0c38b83abd32633ea0c479">ContextTypeInfo</a>
+</li>
+<li>parameters()
+: <a class="el" href="class_context_type_info.html#acce878cdfdb716d781355c8e0ba743b6">ContextTypeInfo</a>
+</li>
+<li>parameterValue()
+: <a class="el" href="class_context_type_info.html#a5e08eb37916c317cff4314cd51caba34">ContextTypeInfo</a>
+</li>
+<li>parseKey()
+: <a class="el" href="class_info_xml_backend.html#a59c6595edec886fd70a451102196ea5c">InfoXmlBackend</a>
+</li>
+<li>pathToKey()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a3bf2af611eaccdca68e577c01b2a7607">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>PendingSubscribeWatcher()
+: <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a21b61bbfe9a39063f7b653fee7899943">ContextSubscriber::PendingSubscribeWatcher</a>
+</li>
+<li>plugin()
+: <a class="el" href="class_context_property_info.html#ab67e0d20a267bae467bd449358273fbc">ContextPropertyInfo</a>
+</li>
+<li>plugin_i()
+: <a class="el" href="class_context_property_info.html#a38e61db02d8f588924d59b60a74a468a">ContextPropertyInfo</a>
+</li>
+<li>pluginChanged()
+: <a class="el" href="class_context_property_info.html#a9523b5b197a619e783b8ba3780a391aa">ContextPropertyInfo</a>
+</li>
+<li>popList()
+: <a class="el" href="class_nano_xml.html#adb05786203f23b7a96ee1db103582729">NanoXml</a>
+</li>
+<li>PropertyHandle()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a1d523c4bc3538073f7f617456cd81a79">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>provided()
+: <a class="el" href="class_context_property_info.html#a9d270042f069bafc0f994b3b19804d8a">ContextPropertyInfo</a>
+</li>
+<li>providedChanged()
+: <a class="el" href="class_context_property_info.html#a37c67d07a2f0c361378ac79e6589a968">ContextPropertyInfo</a>
+</li>
+<li>Provider()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#ae4221b5f1438404820abee8de2ed3daa">ContextSubscriber::Provider</a>
+</li>
+<li>providerChanged()
+: <a class="el" href="class_context_property_info.html#a19bb4eb5067f8bd9504db7733b02be26">ContextPropertyInfo</a>
+</li>
+<li>providerDBusName()
+: <a class="el" href="class_context_property_info.html#af2e6ee62ab7203f3750dc9851bf67868">ContextPropertyInfo</a>
+</li>
+<li>providerDBusName_i()
+: <a class="el" href="class_context_property_info.html#af09ce2c166d9fa87ec4c3cba6b0cabee">ContextPropertyInfo</a>
+</li>
+<li>providerDBusType()
+: <a class="el" href="class_context_property_info.html#aee09f09db9cc631bc3d175cae7f0f671">ContextPropertyInfo</a>
+</li>
+<li>providerDBusType_i()
+: <a class="el" href="class_context_property_info.html#ad4dc52a73150d57b19b2b37a07ff1342">ContextPropertyInfo</a>
+</li>
+<li>providerDBusTypeChanged()
+: <a class="el" href="class_context_property_info.html#a5c03f07e13e9decec21d9bcc415bd35c">ContextPropertyInfo</a>
+</li>
+<li>providers()
+: <a class="el" href="class_context_property_info.html#a9260be377cc7d8124140701a7d72e62f">ContextPropertyInfo</a>
+</li>
+<li>providersForKey()
+: <a class="el" href="class_info_cdb_backend.html#ac28d61755c842e1226fbd4e44f69a040">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#af72852cc9ec862658d2be1d59be536c0">InfoXmlBackend</a>
+, <a class="el" href="class_info_backend.html#a29733f7d3ba8bf62a932eae5b851d2f8">InfoBackend</a>
+</li>
+<li>pushList()
+: <a class="el" href="class_nano_xml.html#a750f872971e1b36ecffc4ead3250e17d">NanoXml</a>
+</li>
+<li>put()
+: <a class="el" href="class_c_d_b_writer.html#acb6cbc68cd6370bbdbeb0f08163dbca5">CDBWriter</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ca06e974
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x71.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_q">- q -</a></h3><ul>
+<li>queuedCall()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a9e3fb1afd2eea8cb4b588f3d80bf2e3e">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>QueuedInvoker()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a15135b7f30c409e3b8d0cd856444803a">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>queueOnce()
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#a431ca591c990aa22bffb1cfed4b42aff">ContextSubscriber::QueuedInvoker</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2a0852bc
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x72.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>readKeyDataFromXml()
+: <a class="el" href="class_info_xml_backend.html#ab5d85a566993462042838c786700f7f8">InfoXmlBackend</a>
+</li>
+<li>ready()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#acb1ad4d2dafa9c137acff2a84916686f">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a236ba3dcfb3fd566fffb89e05855dbf8">ContextSubscriber::IProviderPlugin</a>
+</li>
+<li>regenerateKeyDataList()
+: <a class="el" href="class_info_xml_backend.html#a1407eccac5cb06f88fc6014d4ee25f48">InfoXmlBackend</a>
+</li>
+<li>registryPath()
+: <a class="el" href="class_context_type_registry_info.html#a988d768b9a8fd1dc46db67d2d7af563d">ContextTypeRegistryInfo</a>
+, <a class="el" href="class_info_xml_backend.html#aeba0f378c01b6740c53ea977c10947b0">InfoXmlBackend</a>
+</li>
+<li>reopen()
+: <a class="el" href="class_c_d_b_reader.html#a32774adde1a5edcf80e2ccd981d93eb5">CDBReader</a>
+</li>
+<li>replace()
+: <a class="el" href="class_c_d_b_writer.html#aee735f7f3c2540e8dfe180bc2775dfb5">CDBWriter</a>
+</li>
+<li>reset()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ad5959b9c2e4976ad24025492bfd9109c">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>resolutionStrategy()
+: <a class="el" href="class_context_property_info.html#a4afd9d028d9d13f6e3fb9b7be1cb84d3">ContextPropertyInfo</a>
+</li>
+<li>result()
+: <a class="el" href="class_nano_xml.html#a452fbcd08e639557de164fbf6e9af265">NanoXml</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9ed6de42
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x73.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>SafeDBusPendingCallWatcher()
+: <a class="el" href="class_safe_d_bus_pending_call_watcher.html#a42bd0855e807cce5477ea61f4f094526">SafeDBusPendingCallWatcher</a>
+</li>
+<li>setServiceGone()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a2a28de9dd87121d688410053a025c470">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>setServicePresent()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a888a8557a7246d7c268e8037220f3156">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>setSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#afc48b064e1b5be372519391772fc7ea8">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>setTypeCheck()
+: <a class="el" href="class_context_property.html#a47a70ecc83ea7b819728a3430d860100">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a3031c1cf5c5d3ccdcf91a2218c2e460e">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>shouldPrint()
+: <a class="el" href="class_context_real_logger.html#adb17a18fe2b4e07d23484b3e62661d4b">ContextRealLogger</a>
+</li>
+<li>signalSubscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a3046efee2679aa33602deb4f27877eba">ContextSubscriber::Provider</a>
+</li>
+<li>startElement()
+: <a class="el" href="class_nano_xml.html#a9a53418260e9b9ae8bc3da9b0fae2b35">NanoXml</a>
+</li>
+<li>startListening()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a29c51998308e0448bee857df8f8206cc">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>startPrefixMapping()
+: <a class="el" href="class_nano_xml.html#abb825f9876e40c023c0b3b1ab0b09828">NanoXml</a>
+</li>
+<li>subscribe()
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a063cf90bfd10f0bca4ed471f2c3a9c1e">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#ada9126ec7363321f97124a4edc6553ec">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aa45ae69058525f998ed5eb0c275cac75">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#a5e6f52ce5ba6e7d07240ce84c2cc7326">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a96f3f5ea81859ddfef63c0e064cba365">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a0b12828c764b164dc276a84d46c2ae55">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>subscribeFailed()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a803a4bf54f2017025bc314fc14702513">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a305b5626247bf297ab33aeefbdbc5f88">ContextSubscriber::PendingSubscribeWatcher</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a0e99f03c74e942caed4a12013771a4d2">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#ae62e69b51185cb0437230916cc306548">ContextSubscriber::IProviderPlugin</a>
+</li>
+<li>subscribeFinished()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a1705fc2b48624313ef52f279ede97e5b">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#afd4795579900229d0710f2a1a707df16">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a6e1df08c986196711249d12d9033e72c">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#ae9e3fd6b453ad968096ae574030bc9b7">ContextSubscriber::PendingSubscribeWatcher</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a4a3fcd522bbb2cc67c5821bcf15ed3d4">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>SubscriberInterface()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a7acaf30ea27426e6aa00207e0310980c">ContextSubscriber::SubscriberInterface</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6e7791c5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x74.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>TimedValue()
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">ContextSubscriber::TimedValue</a>
+</li>
+<li>type()
+: <a class="el" href="class_context_property_info.html#a7f8e0cc9c8439e6ec109a16a80a2d3fc">ContextPropertyInfo</a>
+, <a class="el" href="class_context_list_info.html#a08286f38aff16c4bbac3cff24a990e37">ContextListInfo</a>
+</li>
+<li>typeChanged()
+: <a class="el" href="class_context_property_info.html#affead559621ed710667dddafd240db58">ContextPropertyInfo</a>
+</li>
+<li>typeDefinitionForName()
+: <a class="el" href="class_context_type_registry_info.html#a20121b701a3d3293e99804ca5841d36e">ContextTypeRegistryInfo</a>
+</li>
+<li>typeInfo()
+: <a class="el" href="class_context_property_info.html#abaa8292d4ff8b4b73c376e9ff0a9e215">ContextPropertyInfo</a>
+</li>
+<li>typeInfoForKey()
+: <a class="el" href="class_info_xml_backend.html#ae2ffd838ca91a653ea2f18cfa35c8799">InfoXmlBackend</a>
+, <a class="el" href="class_info_cdb_backend.html#af81a9d1966feeae616445587e4b18de4">InfoCdbBackend</a>
+, <a class="el" href="class_info_backend.html#a96772d269c583b286607aad334efba94">InfoBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f8aee805
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x75.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>unsubscribe()
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a4936904e1483e3f06c86e10d65a39e50">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_property.html#afa0ef21efe3c1c5d2b5936cda8feb350">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a4227c404be7915805dbab93e0704914d">ContextSubscriber::SubscriberInterface</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#aa6aa042d4a006eb0930d7805139e801f">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#ad1e8961717be9c3a813096092d1837a4">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a9a5410b5898e5d1efde167752696f2f5">ContextSubscriber::IProviderPlugin</a>
+</li>
+<li>updateProvider()
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a067242c57b142940ba02b1e5a74548d5">ContextSubscriber::PropertyHandle</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6a76883a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x76.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value()
+: <a class="el" href="class_assoc_tree.html#adb957da33e19cb184f9c69400965edd8">AssocTree</a>
+, <a class="el" href="class_context_property.html#a4c295fefdf793557472959f9e2f3e18c">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#abfeb2b16704e22adc33c31e162ef4e36">ContextSubscriber::PropertyHandle</a>
+, <a class="el" href="class_assoc_tree.html#a87c206613662c98e1978df031aed2625">AssocTree</a>
+, <a class="el" href="class_context_property.html#a9853332036f43724b65162acc432753a">ContextProperty</a>
+</li>
+<li>valueChanged()
+: <a class="el" href="class_context_property.html#adee3726fee9fbbcb92c7fb3ba2e04c49">ContextProperty</a>
+, <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a5603631c4a9e7f6a4cbe05af6dfe5c48">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_provider.html#a6288252eecf25f879ecb7c1a507a9088">ContextSubscriber::Provider</a>
+, <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a2ad4c5c689328e78b02ef598994d447c">ContextSubscriber::PendingSubscribeWatcher</a>
+, <a class="el" href="class_context_subscriber_1_1_i_provider_plugin.html#a3a106b2d49454337f9269b2ffb07647e">ContextSubscriber::IProviderPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_property_handle.html#a0ceee4d69e18be36e726af552aaa58ba">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>valueForKey()
+: <a class="el" href="class_c_d_b_reader.html#a65d872621906917c9f72bcfebf24343b">CDBReader</a>
+</li>
+<li>valuesChanged()
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a960dc79d9b47fbbda16e6eed05826c5d">ContextSubscriber::SubscriberInterface</a>
+</li>
+<li>valuesForKey()
+: <a class="el" href="class_c_d_b_reader.html#a0ad9d8670836cc8ce12a2f364495aa5c">CDBReader</a>
+</li>
+<li>variantListToStringList()
+: <a class="el" href="class_info_cdb_backend.html#a8d422f8e80ad4feb74620c6dd793cefd">InfoCdbBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..30e323f2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x77.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_w">- w -</a></h3><ul>
+<li>waitForSubscription()
+: <a class="el" href="class_context_property.html#a8377eacd97cfccf349b7167f33414888">ContextProperty</a>
+</li>
+<li>watch()
+: <a class="el" href="class_info_cdb_backend.html#af9a982a33f464a0579357fbc53e3305c">InfoCdbBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..77d43d12
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_func_0x7e.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_0x7e">- ~ -</a></h3><ul>
+<li>~CDBReader()
+: <a class="el" href="class_c_d_b_reader.html#abd17716f2bcfc205ddf9ab47b5005a8a">CDBReader</a>
+</li>
+<li>~CDBWriter()
+: <a class="el" href="class_c_d_b_writer.html#ae8f20236cbe613623d71af092d0aeaf6">CDBWriter</a>
+</li>
+<li>~ContextProperty()
+: <a class="el" href="class_context_property.html#addc93c0539a8ffd2c2c9439e5ccd8628">ContextProperty</a>
+</li>
+<li>~ContextPropertyInfo()
+: <a class="el" href="class_context_property_info.html#a1c06eaa93db43664c42435c4a0394d8d">ContextPropertyInfo</a>
+</li>
+<li>~ContextRealLogger()
+: <a class="el" href="class_context_real_logger.html#ad45b7a29bfd04c8678e2336964621b16">ContextRealLogger</a>
+</li>
+<li>~DBusNameListener()
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a0049dbd454615122dcfca92253b7e7d7">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>~NanoXml()
+: <a class="el" href="class_nano_xml.html#a940fbfce7d0fab29a5ba6b5b840c4d71">NanoXml</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4d9a5fa4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_rela.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>ContextPropertyInfoUnitTest
+: <a class="el" href="class_context_property_info.html#ab6564dd36e6061c758e4af95c313ef9b">ContextPropertyInfo</a>
+</li>
+<li>ContextRegistryInfoUnitTest
+: <a class="el" href="class_context_registry_info.html#aaf710ed7356d597c5a7a04cbe74eb5a4">ContextRegistryInfo</a>
+</li>
+<li>ContextTypeRegistryInfoUnitTest
+: <a class="el" href="class_context_type_registry_info.html#ac8de3e69b61de37a62ff1e706adcad18">ContextTypeRegistryInfo</a>
+</li>
+<li>InfoBackendUnitTest
+: <a class="el" href="class_info_backend.html#a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackend</a>
+</li>
+<li>InfoCdbBackend
+: <a class="el" href="class_info_backend.html#a84aa2becdb5d27499636a31d69e66683">InfoBackend</a>
+</li>
+<li>InfoCdbBackendUnitTest
+: <a class="el" href="class_info_backend.html#ad3b9d468ea4d158bc8f3a258ab5d72be">InfoBackend</a>
+</li>
+<li>InfoTestBackend
+: <a class="el" href="class_info_backend.html#a53ddc2857121c7ec9f2e1205ea05802f">InfoBackend</a>
+</li>
+<li>InfoXmlBackend
+: <a class="el" href="class_info_backend.html#a0fa89bc3c8483b7168bf136420b43fa4">InfoBackend</a>
+</li>
+<li>InfoXmlBackendUnitTest
+: <a class="el" href="class_info_backend.html#a905a056999dd60bfa46a1cc023ee9066">InfoBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4513e559
--- /dev/null
+++ b/libcontextsubscriber/doc/html/functions_vars.html
@@ -0,0 +1,409 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;
+
+<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
+<li>backendInstance
+: <a class="el" href="class_info_backend.html#af56386ab44960a7646b5a2585688c8d8">InfoBackend</a>
+</li>
+<li>busName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a80103689b09397c9a399987df806af1c">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a86d18fe068b5a9e7b722aaf76dd897bd">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>busType
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a4ae2ef44be74c21c952f1bddb2a152f9">ContextSubscriber::DBusNameListener</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
+<li>cachedDeclared
+: <a class="el" href="class_context_property_info.html#ad304f8389a3d9864af0fe795282a8c26">ContextPropertyInfo</a>
+</li>
+<li>cachedDoc
+: <a class="el" href="class_context_property_info.html#ad0b09926f8b67dd4bb2d9f2bc2a2c601">ContextPropertyInfo</a>
+</li>
+<li>cachedProviders
+: <a class="el" href="class_context_property_info.html#a9892898881029c982aa6003bd16c70d4">ContextPropertyInfo</a>
+</li>
+<li>cachedTypeInfo
+: <a class="el" href="class_context_property_info.html#a8ad27d097f69e6d9f1ebde443bcf49b0">ContextPropertyInfo</a>
+</li>
+<li>cacheLock
+: <a class="el" href="class_context_property_info.html#a8f23781855ffcfbcbd979d9e410c493e">ContextPropertyInfo</a>
+</li>
+<li>callQueue
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#ac786085eae3605b42b0e7f3cda99fe32">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>callQueueLock
+: <a class="el" href="class_context_subscriber_1_1_queued_invoker.html#aea2e2e6956a76f58083214bbb327a04c">ContextSubscriber::QueuedInvoker</a>
+</li>
+<li>cdb
+: <a class="el" href="class_c_d_b_reader.html#a2724a80b3ddfb3a30e6af954d162403f">CDBReader</a>
+</li>
+<li>cdbm
+: <a class="el" href="class_c_d_b_writer.html#a142d82fc35b3ad495588ad2299cb5f2b">CDBWriter</a>
+</li>
+<li>commanderListener
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a8cb5a37f3a69e7019e9d7559e1e2993c">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>commandingEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#acb7a882c3ef0423544754bd6fd5de7af">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>connectCount
+: <a class="el" href="class_info_backend.html#a463dc4b191efca9c44035cb52798e0af">InfoBackend</a>
+</li>
+<li>connection
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0be51b23a1acd297bb9155d611d37270">ContextSubscriber::ContextKitPlugin</a>
+, <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ae09ac9d58b9c15e9ba77bf7f8247a5e7">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>constructionString
+: <a class="el" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">ContextProviderInfo</a>
+</li>
+<li>corePrefix
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ab46c98a850ad26f29b8256ace7317ea5">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>coreTree
+: <a class="el" href="class_context_type_registry_info.html#ab8412d6fdc61f2a6bf33370f23b9d798">ContextTypeRegistryInfo</a>
+</li>
+<li>countOfFilesInLastParse
+: <a class="el" href="class_info_xml_backend.html#ac61fad8518de174500caaaa278bf1672">InfoXmlBackend</a>
+</li>
+<li>current
+: <a class="el" href="class_nano_xml.html#abfef8deeba2c746ee63ae4f1e64f7551">NanoXml</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
+<li>data
+: <a class="el" href="class_context_real_logger.html#a1ade8a975d63f4e178eba2e2d4a26f1e">ContextRealLogger</a>
+</li>
+<li>doc
+: <a class="el" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b">InfoKeyData</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f">- f -</a></h3><ul>
+<li>failed
+: <a class="el" href="class_nano_xml.html#a4d517f665a6ffe310ba89b94f5252295">NanoXml</a>
+</li>
+<li>fd
+: <a class="el" href="class_c_d_b_reader.html#a95f1693de1549bf12e299a18f678178c">CDBReader</a>
+, <a class="el" href="class_c_d_b_writer.html#adb50416b86fe2dcb95ec16e9a5bdc6ea">CDBWriter</a>
+</li>
+<li>featureName
+: <a class="el" href="class_context_feature.html#a6938d336fbf692bd91d84687a342184b">ContextFeature</a>
+</li>
+<li>features
+: <a class="el" href="class_context_real_logger.html#a9aaf9fde5617bf1f71630f2d3c74fb6f">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h">- h -</a></h3><ul>
+<li>handle
+: <a class="el" href="struct_context_property_private.html#ac2610b423813eb22e45a7136ed932713">ContextPropertyPrivate</a>
+</li>
+<li>hideFeatures
+: <a class="el" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">ContextRealLogger</a>
+</li>
+<li>hideModule
+: <a class="el" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">ContextRealLogger</a>
+</li>
+<li>hideTimestamps
+: <a class="el" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
+<li>initialized
+: <a class="el" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">ContextRealLogger</a>
+</li>
+<li>interfaceName
+: <a class="el" href="class_context_subscriber_1_1_subscriber_interface.html#a6ebfcf76e474281993e681afb15975c9">ContextSubscriber::SubscriberInterface</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k">- k -</a></h3><ul>
+<li>key
+: <a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html#a24977d3dc1f8ced3ca81648b5bd94dd2">ContextSubscriber::PendingSubscribeWatcher</a>
+</li>
+<li>keyDataHash
+: <a class="el" href="class_info_xml_backend.html#a60f512bdb81310502e5d80c2b738d513">InfoXmlBackend</a>
+</li>
+<li>keyName
+: <a class="el" href="class_context_property_info.html#ac3d71c5189748d3eee041c82864f995f">ContextPropertyInfo</a>
+</li>
+<li>keyProvidersHash
+: <a class="el" href="class_info_xml_backend.html#a6bc7baa201268651c5203c8ddf9f1eef">InfoXmlBackend</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
+<li>listeningStarted
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#a2141c57da98b81259101f6e782cf92f5">ContextSubscriber::DBusNameListener</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m">- m -</a></h3><ul>
+<li>managerIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a73f07ee2c97993ecefe0b0787cc33523">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>managerInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#afde8f2ee5e10b6625f3b023d6ad3523b">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>managerPath
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ad8141ab741a7d60ba3d1e067f0bb290e">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>moduleName
+: <a class="el" href="class_context_real_logger.html#a25735132cf3de872624cd42f0c667707">ContextRealLogger</a>
+</li>
+<li>msgType
+: <a class="el" href="class_context_real_logger.html#a2ee1b0baea9a178ad3b84b13342b0127">ContextRealLogger</a>
+</li>
+<li>myInfo
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#aaa914d9958d6a3f6b69d3b1446307cea">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>myInstance
+: <a class="el" href="class_context_subscriber_1_1_handle_signal_router.html#a73ad5f7ecb6fa6c9e2f3b95491859ecd">ContextSubscriber::HandleSignalRouter</a>
+</li>
+<li>myKey
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>myProviders
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>myValue
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df">ContextSubscriber::PropertyHandle</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n">- n -</a></h3><ul>
+<li>name
+: <a class="el" href="struct_info_key_data.html#a224cbd09f2ffc23ea7dc12c8be85cc45">InfoKeyData</a>
+</li>
+<li>newProtocol
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#aae19463cfcd2a2925420e9befaa42783">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>nspace
+: <a class="el" href="class_nano_xml.html#a80322fd3991316e0c5d9e42dbc024a21">NanoXml</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
+<li>path
+: <a class="el" href="class_c_d_b_reader.html#ae38694ac8ddcf3f290616e28c163bfd5">CDBReader</a>
+</li>
+<li>pendingSubscriptions
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>plugin
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a620db59b31c197b98ee64369fd46b30e">ContextSubscriber::Provider</a>
+, <a class="el" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">ContextProviderInfo</a>
+</li>
+<li>pluginState
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a904cca899aba13b6d356fea73737169e">ContextSubscriber::Provider</a>
+</li>
+<li>priv
+: <a class="el" href="class_context_property.html#ade52af7df11f1b01893f99aef56ecd10">ContextProperty</a>
+</li>
+<li>propertyIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0ec50bd2ac114b96bb7a2b203aa1273a">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>providerInfo
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a6e8a91f8a673fb8f2f645212844eb421">ContextSubscriber::Provider</a>
+</li>
+<li>providerListener
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#a0e34a8c4b3dafd66d2a094cf2ee22424">ContextSubscriber::ContextKitPlugin</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
+<li>reader
+: <a class="el" href="class_info_cdb_backend.html#ac58abb26efac881051ae758d57aa3738">InfoCdbBackend</a>
+</li>
+<li>registryInstance
+: <a class="el" href="class_context_registry_info.html#a26fbeceb6cc6034badaa3593a93c086a">ContextRegistryInfo</a>
+, <a class="el" href="class_context_type_registry_info.html#a8a076bbf240be4a82fd98770c1927d83">ContextTypeRegistryInfo</a>
+</li>
+<li>rootVariant
+: <a class="el" href="class_nano_xml.html#a2e0c55cb00dfdfcb09191b685c9c7624">NanoXml</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
+<li>servicePresent
+: <a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html#ab1dd997605d2d5ef768c1b113ee42c52">ContextSubscriber::DBusNameListener</a>
+</li>
+<li>showCritical
+: <a class="el" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">ContextRealLogger</a>
+</li>
+<li>showDebug
+: <a class="el" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">ContextRealLogger</a>
+</li>
+<li>showFeatures
+: <a class="el" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">ContextRealLogger</a>
+</li>
+<li>showModule
+: <a class="el" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2">ContextRealLogger</a>
+</li>
+<li>showTest
+: <a class="el" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b">ContextRealLogger</a>
+</li>
+<li>showWarning
+: <a class="el" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">ContextRealLogger</a>
+</li>
+<li>stack
+: <a class="el" href="class_nano_xml.html#afec8c67035475122807dfacfcd0c3563">NanoXml</a>
+</li>
+<li>subscribeCount
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a809f0eae9aef4ffec99f035b7e0e547f">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>subscribeCountLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>subscribed
+: <a class="el" href="struct_context_property_private.html#a8fa3197617a450a91c4c4bbca5cdbecd">ContextPropertyPrivate</a>
+</li>
+<li>subscribedKeys
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a6b07417f7e024f8dac5b3b327383dbe9">ContextSubscriber::Provider</a>
+</li>
+<li>subscribeLock
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a154fa6041cd471ac46c1038f312ffde6">ContextSubscriber::Provider</a>
+</li>
+<li>subscriberIName
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ac65d96beebc2af0eda5b79462c531836">ContextSubscriber::ContextKitPlugin</a>
+</li>
+<li>subscriberInterface
+: <a class="el" href="class_context_subscriber_1_1_context_kit_plugin.html#ac5cf234581bce7834ff86d57b5bcb331">ContextSubscriber::ContextKitPlugin</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t">- t -</a></h3><ul>
+<li>time
+: <a class="el" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">ContextSubscriber::TimedValue</a>
+</li>
+<li>toSubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#acbf130166861d576d906fc99da9b2d6d">ContextSubscriber::Provider</a>
+</li>
+<li>toUnsubscribe
+: <a class="el" href="class_context_subscriber_1_1_provider.html#aee2cca89bff8d2bc65039a42cb32563c">ContextSubscriber::Provider</a>
+</li>
+<li>typeCache
+: <a class="el" href="class_context_type_registry_info.html#a7800d06cfcdcb9e6862f4bdf4729a3e5">ContextTypeRegistryInfo</a>
+</li>
+<li>typeCheckEnabled
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#a27312e770b51ebf5439e31361ceb46c4">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>typeInfo
+: <a class="el" href="struct_info_key_data.html#a08cfc371d93579535850f38bf87fab7b">InfoKeyData</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
+<li>useColor
+: <a class="el" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v">- v -</a></h3><ul>
+<li>value
+: <a class="el" href="struct_context_property_private.html#a791be72a33207ec899155fb4f2689e13">ContextPropertyPrivate</a>
+, <a class="el" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">ContextSubscriber::TimedValue</a>
+</li>
+<li>valueLock
+: <a class="el" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">ContextSubscriber::PropertyHandle</a>
+</li>
+<li>values
+: <a class="el" href="class_context_subscriber_1_1_provider.html#a6e41ed2ec544fc16bd399d8fbcec46ed">ContextSubscriber::Provider</a>
+</li>
+<li>vanilla
+: <a class="el" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">ContextRealLogger</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w">- w -</a></h3><ul>
+<li>watcher
+: <a class="el" href="class_info_cdb_backend.html#ab3f82f73e8f0c453716cfe0142b19d45">InfoCdbBackend</a>
+, <a class="el" href="class_info_xml_backend.html#a6ed00727580f66f06f33ecdb2a7581e7">InfoXmlBackend</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/globals.html b/libcontextsubscriber/doc/html/globals.html
new file mode 100644
index 00000000..13645fd7
--- /dev/null
+++ b/libcontextsubscriber/doc/html/globals.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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:<ul>
+<li>checkDirectory()
+: <a class="el" href="update-contextkit-providers_8cpp.html#ad4e241dfee4e559f0beefd5904c4e117">update-contextkit-providers.cpp</a>
+</li>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#aa01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#a5caff9634fb82d206523ecc35720802c">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#af4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#a135d5a5bda27a9c86559a49deba43788">logging.h</a>
+</li>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">logging.h</a>
+</li>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+</li>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+</li>
+<li>contextKitPluginFactory()
+: <a class="el" href="contextkitplugin_8h.html#a70307658405a252817d4081fd82eabe9">contextkitplugin.h</a>
+, <a class="el" href="contextkitplugin_8cpp.html#a70307658405a252817d4081fd82eabe9">contextkitplugin.cpp</a>
+</li>
+<li>contextTest
+: <a class="el" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+</li>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+</li>
+<li>F_CDB
+: <a class="el" href="loggingfeatures_8h.html#aca391b305bf0f67f18c524f746a8ddf0">loggingfeatures.h</a>
+</li>
+<li>F_DEPRECATION
+: <a class="el" href="loggingfeatures_8h.html#ad7fd5183657903f8730bcac257da9c87">loggingfeatures.h</a>
+</li>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+</li>
+<li>F_PLUGINS
+: <a class="el" href="loggingfeatures_8h.html#a0daf017d3128067f7e97711dc5d81d5e">loggingfeatures.h</a>
+</li>
+<li>F_THREADS
+: <a class="el" href="loggingfeatures_8h.html#ae141f43f0eca517471078c8af1aa39ca">loggingfeatures.h</a>
+</li>
+<li>F_TYPES
+: <a class="el" href="loggingfeatures_8h.html#ae16e24aad7b594e86bcafe62f121cd58">loggingfeatures.h</a>
+</li>
+<li>F_XML
+: <a class="el" href="loggingfeatures_8h.html#a73ca9473e98211f78c6e7598222ff409">loggingfeatures.h</a>
+</li>
+<li>main()
+: <a class="el" href="update-contextkit-providers_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">update-contextkit-providers.cpp</a>
+</li>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d2b5fc41
--- /dev/null
+++ b/libcontextsubscriber/doc/html/globals_defs.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>CONTEXT_LOG_MODULE_NAME
+: <a class="el" href="logging_8h.html#aa01ef6b4b7c61c0ae8d236d07bc69a62">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_CRITICAL
+: <a class="el" href="logging_8h.html#a5caff9634fb82d206523ecc35720802c">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_DEBUG
+: <a class="el" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_TEST
+: <a class="el" href="logging_8h.html#af4c5c4bc7df62d9c450a10142ada2f73">logging.h</a>
+</li>
+<li>CONTEXT_LOG_MSG_TYPE_WARNING
+: <a class="el" href="logging_8h.html#a135d5a5bda27a9c86559a49deba43788">logging.h</a>
+</li>
+<li>contextCritical
+: <a class="el" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">logging.h</a>
+</li>
+<li>contextDebug
+: <a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">logging.h</a>
+</li>
+<li>contextFeature
+: <a class="el" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">logging.h</a>
+</li>
+<li>contextTest
+: <a class="el" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">logging.h</a>
+</li>
+<li>contextWarning
+: <a class="el" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">logging.h</a>
+</li>
+<li>F_CDB
+: <a class="el" href="loggingfeatures_8h.html#aca391b305bf0f67f18c524f746a8ddf0">loggingfeatures.h</a>
+</li>
+<li>F_DEPRECATION
+: <a class="el" href="loggingfeatures_8h.html#ad7fd5183657903f8730bcac257da9c87">loggingfeatures.h</a>
+</li>
+<li>F_DESTROY
+: <a class="el" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">loggingfeatures.h</a>
+</li>
+<li>F_PLUGINS
+: <a class="el" href="loggingfeatures_8h.html#a0daf017d3128067f7e97711dc5d81d5e">loggingfeatures.h</a>
+</li>
+<li>F_THREADS
+: <a class="el" href="loggingfeatures_8h.html#ae141f43f0eca517471078c8af1aa39ca">loggingfeatures.h</a>
+</li>
+<li>F_TYPES
+: <a class="el" href="loggingfeatures_8h.html#ae16e24aad7b594e86bcafe62f121cd58">loggingfeatures.h</a>
+</li>
+<li>F_XML
+: <a class="el" href="loggingfeatures_8h.html#a73ca9473e98211f78c6e7598222ff409">loggingfeatures.h</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a76ba908
--- /dev/null
+++ b/libcontextsubscriber/doc/html/globals_func.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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;<ul>
+<li>checkDirectory()
+: <a class="el" href="update-contextkit-providers_8cpp.html#ad4e241dfee4e559f0beefd5904c4e117">update-contextkit-providers.cpp</a>
+</li>
+<li>contextKitPluginFactory()
+: <a class="el" href="contextkitplugin_8h.html#a70307658405a252817d4081fd82eabe9">contextkitplugin.h</a>
+, <a class="el" href="contextkitplugin_8cpp.html#a70307658405a252817d4081fd82eabe9">contextkitplugin.cpp</a>
+</li>
+<li>main()
+: <a class="el" href="update-contextkit-providers_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">update-contextkit-providers.cpp</a>
+</li>
+<li>sconnect()
+: <a class="el" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">sconnect.h</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..82148136
--- /dev/null
+++ b/libcontextsubscriber/doc/html/handlesignalrouter_8cpp.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..555942f6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/handlesignalrouter_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f7f4537a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/handlesignalrouter_8h_source.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>00031 <span class="keyword">class </span>Provider;
+<a name="l00032"></a>00032
+<a name="l00033"></a><a class="code" href="class_context_subscriber_1_1_handle_signal_router.html">00033</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="l00034"></a>00034 {
+<a name="l00035"></a>00035 Q_OBJECT
+<a name="l00036"></a>00036 <span class="keyword">public</span>:
+<a name="l00037"></a>00037 <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#ad22b0b2d41d77e490f86d4979933a0b4">instance</a>();
+<a name="l00038"></a>00038
+<a name="l00039"></a>00039 <span class="keyword">public</span> slots:
+<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#af617232398fe317edf8bf00b0e6d430c">onValueChanged</a>(QString key);
+<a name="l00041"></a>00041 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#aaf730d9b2ee3d70b6ecf0990fc36de57">onSubscribeFinished</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> *provider, QString key);
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">private</span>:
+<a name="l00044"></a>00044 <a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#a11cb80bdb993a829a06e7338c014d45b">HandleSignalRouter</a>();
+<a name="l00045"></a><a class="code" href="class_context_subscriber_1_1_handle_signal_router.html#a73ad5f7ecb6fa6c9e2f3b95491859ecd">00045</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#a73ad5f7ecb6fa6c9e2f3b95491859ecd" title="Singleton instance.">myInstance</a>;
+<a name="l00046"></a>00046 };
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 } <span class="comment">// end namespace</span>
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/hierarchy.html b/libcontextsubscriber/doc/html/hierarchy.html
new file mode 100644
index 00000000..ccb550dd
--- /dev/null
+++ b/libcontextsubscriber/doc/html/hierarchy.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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_assoc_tree.html">AssocTree</a><ul>
+<li><a class="el" href="class_context_type_info.html">ContextTypeInfo</a><ul>
+<li><a class="el" href="class_context_list_info.html">ContextListInfo</a></li>
+<li><a class="el" href="class_context_string_enum_info.html">ContextStringEnumInfo</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="el" href="class_async_d_bus_interface.html">AsyncDBusInterface</a></li>
+<li><a class="el" href="class_c_d_b_reader.html">CDBReader</a></li>
+<li><a class="el" href="class_c_d_b_writer.html">CDBWriter</a></li>
+<li><a class="el" href="class_context_feature.html">ContextFeature</a></li>
+<li><a class="el" href="class_context_property.html">ContextProperty</a></li>
+<li><a class="el" href="class_context_property_info.html">ContextPropertyInfo</a></li>
+<li><a class="el" href="struct_context_property_private.html">ContextPropertyPrivate</a></li>
+<li><a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a></li>
+<li><a class="el" href="class_context_real_logger.html">ContextRealLogger</a></li>
+<li><a class="el" href="class_context_registry_info.html">ContextRegistryInfo</a></li>
+<li><a class="el" href="class_context_type_registry_info.html">ContextTypeRegistryInfo</a></li>
+<li><a class="el" href="class_context_zero_logger.html">ContextZeroLogger</a></li>
+<li><a class="el" href="class_context_subscriber_1_1_d_bus_name_listener.html">ContextSubscriber::DBusNameListener</a></li>
+<li><a class="el" href="class_context_subscriber_1_1_handle_signal_router.html">ContextSubscriber::HandleSignalRouter</a></li>
+<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>
+<li><a class="el" href="class_info_xml_backend.html">InfoXmlBackend</a></li>
+</ul>
+</li>
+<li><a class="el" href="struct_info_key_data.html">InfoKeyData</a></li>
+<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></li>
+</ul>
+</li>
+<li><a class="el" href="class_nano_xml.html">NanoXml</a></li>
+<li><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">ContextSubscriber::PendingSubscribeWatcher</a></li>
+<li><a class="el" href="class_context_subscriber_1_1_property_handle.html">ContextSubscriber::PropertyHandle</a></li>
+<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></li>
+</ul>
+</li>
+<li><a class="el" href="class_safe_d_bus_pending_call_watcher.html">SafeDBusPendingCallWatcher</a></li>
+<li><a class="el" href="class_subscriber_interface.html">SubscriberInterface</a></li>
+<li><a class="el" href="class_context_subscriber_1_1_subscriber_interface.html">ContextSubscriber::SubscriberInterface</a></li>
+<li><a class="el" href="class_subscriber_signalling_interface.html">SubscriberSignallingInterface</a></li>
+<li><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/index.html b/libcontextsubscriber/doc/html/index.html
new file mode 100644
index 00000000..1a103e98
--- /dev/null
+++ b/libcontextsubscriber/doc/html/index.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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. </p>
+<h2><a class="anchor" id="Overview">
+Overview</a></h2>
+<p>The Context Properties are key/value pairs. The keys are strings and the values are QVariants.</p>
+<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">&quot;left&quot;</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>
+<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>
+<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>
+<p>Example: </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="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">&quot;Screen.TopEdge&quot;</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: </p>
+<div class="fragment"><pre class="fragment"> qWarning() &lt;&lt; <span class="stringliteral">&quot;The edge &quot;</span> &lt;&lt; topEdge-&gt;<a class="code" href="class_context_property.html#a9853332036f43724b65162acc432753a" title="Returns the current value, or the value def if the current value is null.">value</a>() &lt;&lt; <span class="stringliteral">&quot; is up&quot;</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#afa0ef21efe3c1c5d2b5936cda8feb350" 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#a5e6f52ce5ba6e7d07240ce84c2cc7326" 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. </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ba67d636
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infobackend_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3863c88d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infobackend_8h.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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/>
+<code>#include &quot;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a>&quot;</code><br/>
+
+<p><a href="infobackend_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ab757055
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infobackend_8h_source.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>&quot;</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="contexttypeinfo_8h.html">contexttypeinfo.h</a>&quot;</span>
+<a name="l00030"></a>00030
+<a name="l00031"></a><a class="code" href="class_info_backend.html">00031</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="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 name="l00037"></a>00037 <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#a7c627815ff574b54ecd60191468fcc94" title="Returns the actual singleton instance, creates it on first access.">instance</a>(<span class="keyword">const</span> QString &amp;backendName = <span class="stringliteral">&quot;&quot;</span>);
+<a name="l00038"></a>00038
+<a name="l00040"></a>00040 <span class="keyword">virtual</span> QString <a class="code" href="class_info_backend.html#afa40871167e96ccc256e33b79a628ed3" title="Returns the name of the backend, ie: &amp;#39;xml&amp;#39;.">name</a>() <span class="keyword">const</span> = 0;
+<a name="l00041"></a>00041
+<a name="l00043"></a>00043 <span class="keyword">virtual</span> QStringList <a class="code" href="class_info_backend.html#ab982301f28a9655255683ad66c8f0c95" title="Returns the list of all the keys in the registry.">listKeys</a>() <span class="keyword">const</span> = 0;
+<a name="l00044"></a>00044
+<a name="l00046"></a>00046 <span class="keyword">virtual</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_info_backend.html#a96772d269c583b286607aad334efba94" title="Returns the type information for the given key.">typeInfoForKey</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00047"></a>00047
+<a name="l00049"></a>00049 <span class="keyword">virtual</span> QString <a class="code" href="class_info_backend.html#af90947cb65d219d1f703683a471f649d" title="Returns the documentation for the given key name.">docForKey</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00050"></a>00050
+<a name="l00052"></a>00052 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_info_backend.html#a4ff58350a0f16796b0704353f554d303" title="Returns true if the given key exists.">keyDeclared</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00053"></a>00053
+<a name="l00055"></a>00055 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_info_backend.html#a29733f7d3ba8bf62a932eae5b851d2f8" title="Returns a list of providers for the given key.">providersForKey</a>(QString key) <span class="keyword">const</span> = 0;
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 signals:
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#acdad993095c6538cd80cdd418a09fd63" title="Emitted when key list changes. ContextRegistryInfo listens on that.">keysChanged</a>(<span class="keyword">const</span> QStringList&amp; currentKeys);
+<a name="l00060"></a>00060
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#a159354ed05ba53b30feb861362c97ecd" title="Emitted when new keys are added. ContextRegistryInfo listens on that.">keysAdded</a>(<span class="keyword">const</span> QStringList&amp; newKeys);
+<a name="l00063"></a>00063
+<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#aabad9b345fa7dda6c4b3630a5afda245" title="Emitted when keys are removed. ContextRegistryInfo listens on that.">keysRemoved</a>(<span class="keyword">const</span> QStringList&amp; removedKeys);
+<a name="l00066"></a>00066
+<a name="l00068"></a>00068 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#a3962e7c993113bf00ac4fa983109aa52" title="Emitted when key data/info changes. ContextPropertyInfo instances listen on that...">keyChanged</a>(<span class="keyword">const</span> QString&amp; key);
+<a name="l00069"></a>00069
+<a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#aebe6133efbd7ee2a8c70afe44cdb06e4" title="Emitted when the key list changes. ContextRegistryInfo listens on that.">listChanged</a>();
+<a name="l00072"></a>00072
+<a name="l00073"></a>00073 <span class="keyword">protected</span>:
+<a name="l00074"></a>00074 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#ab0db0c312a540b4b6d49c434c8cf64bd" 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="l00075"></a>00075 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#a4800fc55302f0c049c11ce3a93a204d3" 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="l00076"></a>00076
+<a name="l00077"></a>00077 <span class="keyword">private</span>:
+<a name="l00078"></a><a class="code" href="class_info_backend.html#a463dc4b191efca9c44035cb52798e0af">00078</a> <span class="keywordtype">int</span> <a class="code" href="class_info_backend.html#a463dc4b191efca9c44035cb52798e0af" title="Number of connections to signals. Used to optimized signal emission when 0.">connectCount</a>;
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080 <a class="code" href="class_info_backend.html#a4b9aafee7309b9e3a82eb3ca99ca173f" title="Constructs the object. The connectCount is 0 on start.">InfoBackend</a>(QObject *parent = 0);
+<a name="l00081"></a>00081
+<a name="l00083"></a>00083 <a class="code" href="class_info_backend.html#a4b9aafee7309b9e3a82eb3ca99ca173f" 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="l00084"></a>00084
+<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#a26dea7269e293f178ca7a855bd8085eb" 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="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#a2229c5a5b2c85b50746497bed16735c2" 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="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#ad770d30f718c8110a6e14371293829b9" 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="l00088"></a>00088
+<a name="l00090"></a>00090 <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#a90791486e0755836a52ff3f59279dc95" 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="l00091"></a>00091
+<a name="l00092"></a><a class="code" href="class_info_backend.html#af56386ab44960a7646b5a2585688c8d8">00092</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#af56386ab44960a7646b5a2585688c8d8" title="Holds a pointer to the instance of the singelton.">backendInstance</a>;
+<a name="l00093"></a>00093 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_info_backend.html#ae8204b17f82806015d23088f8c6776da" title="Called before the application is destroyed.">destroyInstance</a>();
+<a name="l00094"></a>00094
+<a name="l00095"></a><a class="code" href="class_info_backend.html#a0fa89bc3c8483b7168bf136420b43fa4">00095</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="l00096"></a><a class="code" href="class_info_backend.html#a84aa2becdb5d27499636a31d69e66683">00096</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="l00097"></a><a class="code" href="class_info_backend.html#a53ddc2857121c7ec9f2e1205ea05802f">00097</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#a53ddc2857121c7ec9f2e1205ea05802f">InfoTestBackend</a>;
+<a name="l00098"></a><a class="code" href="class_info_backend.html#a905a056999dd60bfa46a1cc023ee9066">00098</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#a905a056999dd60bfa46a1cc023ee9066">InfoXmlBackendUnitTest</a>;
+<a name="l00099"></a><a class="code" href="class_info_backend.html#ad3b9d468ea4d158bc8f3a258ab5d72be">00099</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#ad3b9d468ea4d158bc8f3a258ab5d72be">InfoCdbBackendUnitTest</a>;
+<a name="l00100"></a><a class="code" href="class_info_backend.html#a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">00100</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_info_backend.html#a9b2a7e8cfb6a2cfcb8c31f86a1a35aa6">InfoBackendUnitTest</a>;
+<a name="l00101"></a>00101
+<a name="l00102"></a>00102 };
+<a name="l00103"></a>00103
+<a name="l00104"></a>00104 <span class="preprocessor">#endif // INFOBACKEND_H</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ee5b7ef9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infocdbbackend_8cpp.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4ff41100
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infocdbbackend_8h.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..35757391
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infocdbbackend_8h_source.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="cdbreader_8h.html">cdbreader.h</a>&quot;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="infobackend_8h.html">infobackend.h</a>&quot;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>&quot;</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#a8e31c8ded7f1620ab626d17f23bf3042">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#a98707e9504d1719000fec1d31de01174" 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#a16a29a2335e21a73b8317d23eadb3069" 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#a96b65379f588dc602406449012a9ceae" title="Returns the documentation for the given key name.">docForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00043"></a>00043 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_info_cdb_backend.html#a79ee60153f6d7113ee7c454495ed3d87" title="Returns true if the given key exists.">keyDeclared</a>(QString key) <span class="keyword">const</span>;
+<a name="l00044"></a>00044 <span class="keyword">virtual</span> <span class="keyword">const</span> QList&lt;ContextProviderInfo&gt; <a class="code" href="class_info_cdb_backend.html#ac28d61755c842e1226fbd4e44f69a040" title="Returns a list of providers for the given key.">providersForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00045"></a>00045 <span class="keyword">virtual</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_info_cdb_backend.html#af81a9d1966feeae616445587e4b18de4" title="Returns the type information for the given key.">typeInfoForKey</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#a2ec440b4df1e409e6cf74f5fd514fb6c" 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#a1a31a6076fc78a72e0bc00135d110fa2" 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#a99e18dd002d2fdf388914721eb53599f" 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#ab3f82f73e8f0c453716cfe0142b19d45">00052</a> QFileSystemWatcher <a class="code" href="class_info_cdb_backend.html#ab3f82f73e8f0c453716cfe0142b19d45" 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#ac58abb26efac881051ae758d57aa3738">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#ac58abb26efac881051ae758d57aa3738" 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#af9a982a33f464a0579357fbc53e3305c">watch</a>();
+<a name="l00055"></a>00055 <span class="keyword">static</span> QStringList <a class="code" href="class_info_cdb_backend.html#a8d422f8e80ad4feb74620c6dd793cefd">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#a809ba5fe86160dd85c3221b91f480a8d" 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#a9a95be7eb4456ff22f28a37fd5eb1945" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..bc1e4b36
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infokeydata_8h.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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/>
+<code>#include &quot;<a class="el" href="contexttypeinfo_8h_source.html">contexttypeinfo.h</a>&quot;</code><br/>
+
+<p><a href="infokeydata_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ff7b2e92
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infokeydata_8h_source.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 <span class="preprocessor">#include &quot;<a class="code" href="contexttypeinfo_8h.html">contexttypeinfo.h</a>&quot;</span>
+<a name="l00027"></a>00027
+<a name="l00037"></a><a class="code" href="struct_info_key_data.html">00037</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="l00038"></a>00038 {
+<a name="l00039"></a><a class="code" href="struct_info_key_data.html#a224cbd09f2ffc23ea7dc12c8be85cc45">00039</a> QString <a class="code" href="struct_info_key_data.html#a224cbd09f2ffc23ea7dc12c8be85cc45" title="Name of the we&amp;#39;re storing data for.">name</a>;
+<a name="l00040"></a><a class="code" href="struct_info_key_data.html#a08cfc371d93579535850f38bf87fab7b">00040</a> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="struct_info_key_data.html#a08cfc371d93579535850f38bf87fab7b" title="Type information of the key.">typeInfo</a>;
+<a name="l00041"></a><a class="code" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b">00041</a> QString <a class="code" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b" title="Doc for the key.">doc</a>;
+<a name="l00042"></a>00042 };
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 <span class="preprocessor">#endif // INFOKEYDATA_H</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ef7bc6c3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infoxmlbackend_8cpp.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6ef55cee
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infoxmlbackend_8h.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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/>
+<code>#include &quot;<a class="el" href="assoctree_8h_source.html">assoctree.h</a>&quot;</code><br/>
+
+<p><a href="infoxmlbackend_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..46c986a8
--- /dev/null
+++ b/libcontextsubscriber/doc/html/infoxmlbackend_8h_source.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="infobackend_8h.html">infobackend.h</a>&quot;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="infokeydata_8h.html">infokeydata.h</a>&quot;</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>&quot;</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="assoctree_8h.html">assoctree.h</a>&quot;</span>
+<a name="l00035"></a>00035
+<a name="l00036"></a><a class="code" href="class_info_xml_backend.html">00036</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="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_info_xml_backend.html#a85f5bb72b4841d7012ff63bd7627f2d0">InfoXmlBackend</a>(QObject *parent = 0);
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="keyword">virtual</span> QString <a class="code" href="class_info_xml_backend.html#a83ac8d65786de855c402b426222ab72b" title="Returns &amp;#39;xml&amp;#39;.">name</a>() <span class="keyword">const</span>;
+<a name="l00044"></a>00044 <span class="keyword">virtual</span> QStringList <a class="code" href="class_info_xml_backend.html#a74d2b52119a26ca60203ecf86721e38c" title="Returns the list of all the keys in the registry.">listKeys</a>() <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#a3b0753cd69c99c2fe188e7fd912a072a" 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#a34f0f40564466e150f433aced83af71a" 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#af72852cc9ec862658d2be1d59be536c0" title="Returns a list of providers for the given key.">providersForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00048"></a>00048 <span class="keyword">virtual</span> <a class="code" href="class_context_type_info.html">ContextTypeInfo</a> <a class="code" href="class_info_xml_backend.html#ae2ffd838ca91a653ea2f18cfa35c8799" title="Returns the type information for the given key.">typeInfoForKey</a>(QString key) <span class="keyword">const</span>;
+<a name="l00049"></a>00049
+<a name="l00050"></a>00050 <span class="keyword">static</span> QString <a class="code" href="class_info_xml_backend.html#aeba0f378c01b6740c53ea977c10947b0" title="Returns the full path to the registry directory.">registryPath</a>();
+<a name="l00051"></a>00051 <span class="keyword">static</span> QString <a class="code" href="class_info_xml_backend.html#ae919a19ac7fc38f60048b900d49c41d5" title="Returns the full path to the core property declaration file.">coreDeclPath</a>();
+<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_info_xml_backend.html#aedf432bc14783ab4e9f2858a088e0643" title="Called when the registry directory changed (ie.">onDirectoryChanged</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#ab2155f5c965bc1249987f6ae942d004b" title="Called when one of the parsed XML files changed.">onFileChanged</a>(<span class="keyword">const</span> QString &amp;path);
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <span class="keyword">private</span>:
+<a name="l00058"></a><a class="code" href="class_info_xml_backend.html#a6ed00727580f66f06f33ecdb2a7581e7">00058</a> QFileSystemWatcher <a class="code" href="class_info_xml_backend.html#a6ed00727580f66f06f33ecdb2a7581e7" title="A watched object obsering the database file. Delivers synced notifications.">watcher</a>;
+<a name="l00059"></a><a class="code" href="class_info_xml_backend.html#a60f512bdb81310502e5d80c2b738d513">00059</a> QHash &lt;QString, InfoKeyData&gt; <a class="code" href="class_info_xml_backend.html#a60f512bdb81310502e5d80c2b738d513" title="This hash contains the full state of registry in memory.">keyDataHash</a>;
+<a name="l00060"></a><a class="code" href="class_info_xml_backend.html#a6bc7baa201268651c5203c8ddf9f1eef">00060</a> QHash &lt;QString, QList&lt;ContextProviderInfo&gt; &gt; <a class="code" href="class_info_xml_backend.html#a6bc7baa201268651c5203c8ddf9f1eef" title="This hash contains providers for keys.">keyProvidersHash</a>;
+<a name="l00061"></a><a class="code" href="class_info_xml_backend.html#ac61fad8518de174500caaaa278bf1672">00061</a> <span class="keywordtype">int</span> <a class="code" href="class_info_xml_backend.html#ac61fad8518de174500caaaa278bf1672" title="The number of xml files we parsed in last registry update.">countOfFilesInLastParse</a>;
+<a name="l00062"></a>00062
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#a1407eccac5cb06f88fc6014d4ee25f48" title="Clears all the stored data about the registry and parses it all over again.">regenerateKeyDataList</a>();
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#ab5d85a566993462042838c786700f7f8" 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="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="class_info_xml_backend.html#a59c6595edec886fd70a451102196ea5c" title="Parse the given QVariant tree which is supposed to be a key tree.">parseKey</a>(<span class="keyword">const</span> <a class="code" href="class_assoc_tree.html">AssocTree</a> &amp;keyTree, <span class="keyword">const</span> <a class="code" href="class_assoc_tree.html">AssocTree</a> &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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/introspection.html b/libcontextsubscriber/doc/html/introspection.html
new file mode 100644
index 00000000..dca353a1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/introspection.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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">
+<p>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.</p>
+<h2><a class="anchor" id="Overview">
+Overview</a></h2>
+<p>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>
+<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>
+<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.</p>
+<h2><a class="anchor" id="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#a93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">ContextRegistryInfo::instance</a>();
+ QStringList currentKeys = context-&gt;<a class="code" href="class_context_registry_info.html#a963309761292d39921da3fb06cb31060" 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">&quot;Battery.ChargeLevel&quot;</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">&quot;Something.That.Doesnt.Exist&quot;</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">&quot;Something.That.Doesnt.Exist&quot;</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" id="xmlvscdb">
+XML vs.CDB</a></h2>
+<p>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>
+<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#a93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">ContextRegistryInfo::instance</a>(<span class="stringliteral">&quot;cdb&quot;</span>); <span class="comment">// or &quot;xml&quot;</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. </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..09b50de6
--- /dev/null
+++ b/libcontextsubscriber/doc/html/iproviderplugin_8h.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="el" href="timedvalue_8h_source.html">timedvalue.h</a>&quot;</code><br/>
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef IProviderPlugin *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_context_subscriber.html#a8633109a61fa262fddd2d10ba1631c16">ContextSubscriber::PluginFactoryFunc</a> )(QString constructionString)</td></tr>
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..095dcd7f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/iproviderplugin_8h_source.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="timedvalue_8h.html">timedvalue.h</a>&quot;</span>
+<a name="l00026"></a>00026
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;QObject&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>ContextSubscriber {
+<a name="l00031"></a>00031
+<a name="l00032"></a>00032 <span class="comment">/* This is not a public API of ContextKit, please do not write third</span>
+<a name="l00033"></a>00033 <span class="comment"> * party plugins for the ContextKit client library without first</span>
+<a name="l00034"></a>00034 <span class="comment"> * contacting us.</span>
+<a name="l00035"></a>00035 <span class="comment"> */</span>
+<a name="l00036"></a>00036
+<a name="l00037"></a><a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html">00037</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="l00038"></a>00038 {
+<a name="l00039"></a>00039 Q_OBJECT
+<a name="l00040"></a>00040 <span class="keyword">public</span>:
+<a name="l00041"></a>00041 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a96f3f5ea81859ddfef63c0e064cba365">subscribe</a>(QSet&lt;QString&gt; keys) = 0;
+<a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a9a5410b5898e5d1efde167752696f2f5">unsubscribe</a>(QSet&lt;QString&gt; keys) = 0;
+<a name="l00043"></a>00043
+<a name="l00044"></a>00044 signals:
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a236ba3dcfb3fd566fffb89e05855dbf8">ready</a>();
+<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a2b38e3432ffbe7006ffcbe696e4331dd">failed</a>(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#a68cf30909195fcadb259056ad8a8d9ba">subscribeFinished</a>(QString key);
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a68cf30909195fcadb259056ad8a8d9ba">subscribeFinished</a>(QString key, <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> timedvalue);
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#ae62e69b51185cb0437230916cc306548">subscribeFailed</a>(QString failedKey, QString error);
+<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a3a106b2d49454337f9269b2ffb07647e">valueChanged</a>(QString key, QVariant value);
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_i_provider_plugin.html#a3a106b2d49454337f9269b2ffb07647e">valueChanged</a>(QString key, <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> timedvalue);
+<a name="l00052"></a>00052 };
+<a name="l00053"></a>00053
+<a name="l00054"></a><a class="code" href="namespace_context_subscriber.html#a8633109a61fa262fddd2d10ba1631c16">00054</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="l00055"></a>00055
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057
+<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/logging.html b/libcontextsubscriber/doc/html/logging.html
new file mode 100644
index 00000000..a9dc413d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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">
+<p>The library (and ContexKit in general) use a simple logging system designed to unify the output and make the debugging easier.</p>
+<h2><a class="anchor" id="API">
+API</a></h2>
+<p>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>
+<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>
+<p>The log messages can be used like this:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">contextTest</a>() &lt;&lt; <span class="stringliteral">&quot;This is some message&quot;</span>;
+ <a class="code" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">&quot;My value is:&quot;</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">contextWarning</a>() &lt;&lt; <span class="stringliteral">&quot;Expecting key:&quot;</span> &lt;&lt; something.getKey();
+ <a class="code" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">contextCritical</a>() &lt;&lt; 5 &lt;&lt; <span class="stringliteral">&quot;is bigger than&quot;</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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <span class="stringliteral">&quot;My value is&quot;</span> &lt;&lt; 5 &lt;&lt; <span class="stringliteral">&quot;and should be 5&quot;</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" id="compilecontrol">
+Compile-time verbosity control</a></h2>
+<p>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>
+<p>When ie. <code>CONTEXT_LOG_HIDE_DEBUG</code> define is used to turn off <code><a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">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>
+<p>Those compile-time control defines are integrated in the build/configure system.</p>
+<h2><a class="anchor" id="runtimecontrol">
+Run-time verbosity control</a></h2>
+<p>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>
+<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>
+<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>
+<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">&quot;subscriber&quot;</span> ./some-binary
+</pre></div><p>...will run <code></code>./some-binary showing log messages <b>only</b> from <code>subscriber</code> module.</p>
+<p>Lastly, <code>CONTEXT_LOG_HIDE_MODULE</code> will hide log messages coming from the specified module. All other messages will be show.</p>
+<h2><a class="anchor" id="modules">
+Modules in logging</a></h2>
+<p>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>
+<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">&apos;-DCONTEXT_LOG_MODULE_NAME=&quot;libtest&quot;&apos;</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.</p>
+<h2><a class="anchor" id="features">
+Featues</a></h2>
+<p>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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;threads&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Message goes here&quot;</span> &lt;&lt; someVariable;
+ <a class="code" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;threads&quot;</span>) &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;something&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Message...&quot;</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#ad9c4e9fd2b26240900ff7c74cd7e8404">contextDebug</a>() &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;threads&quot;</span>) &lt;&lt; <span class="stringliteral">&quot;Some message...&quot;</span> &lt;&lt; <a class="code" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(<span class="stringliteral">&quot;another&quot;</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>
+<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">&quot;threads,util&quot;</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">&quot;threads,util&quot;</span> ./some-binary
+</pre></div><p>...will hide all logging messages belonging to "threads" and "util" feature groups.</p>
+<h2><a class="anchor" id="vanilla">
+Vanilla</a></h2>
+<p>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. </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..6ce1bf59
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging_8cpp.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..ca3314fa
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging_8h.html
@@ -0,0 +1,218 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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" 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" 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"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#af4c5c4bc7df62d9c450a10142ada2f73">CONTEXT_LOG_MSG_TYPE_TEST</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">CONTEXT_LOG_MSG_TYPE_DEBUG</a>&nbsp;&nbsp;&nbsp;2</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a135d5a5bda27a9c86559a49deba43788">CONTEXT_LOG_MSG_TYPE_WARNING</a>&nbsp;&nbsp;&nbsp;3</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a5caff9634fb82d206523ecc35720802c">CONTEXT_LOG_MSG_TYPE_CRITICAL</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#aa01ef6b4b7c61c0ae8d236d07bc69a62">CONTEXT_LOG_MODULE_NAME</a>&nbsp;&nbsp;&nbsp;&quot;unknown&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#afbeb0b1d3a7070b195c5a6a5a062dc56">contextFeature</a>(name)&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(name))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#abfb57c8a40821bf0caa9a29a8dfc47b7">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#ad9c4e9fd2b26240900ff7c74cd7e8404">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a63433fe15ab356004ccdd4263b0910c0">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="logging_8h.html#a7f115b5076497bd3af236e8778940ea1">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" id="aa01ef6b4b7c61c0ae8d236d07bc69a62"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MODULE_NAME" ref="aa01ef6b4b7c61c0ae8d236d07bc69a62" 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">
+
+</div>
+</div>
+<a class="anchor" id="a5caff9634fb82d206523ecc35720802c"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_CRITICAL" ref="a5caff9634fb82d206523ecc35720802c" 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">
+
+</div>
+</div>
+<a class="anchor" id="a31a4dd1d3ccd43a859bc3b3c12de8a83"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_DEBUG" ref="a31a4dd1d3ccd43a859bc3b3c12de8a83" 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">
+
+</div>
+</div>
+<a class="anchor" id="af4c5c4bc7df62d9c450a10142ada2f73"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_TEST" ref="af4c5c4bc7df62d9c450a10142ada2f73" 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">
+
+</div>
+</div>
+<a class="anchor" id="a135d5a5bda27a9c86559a49deba43788"></a><!-- doxytag: member="logging.h::CONTEXT_LOG_MSG_TYPE_WARNING" ref="a135d5a5bda27a9c86559a49deba43788" 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">
+
+</div>
+</div>
+<a class="anchor" id="a7f115b5076497bd3af236e8778940ea1"></a><!-- doxytag: member="logging.h::contextCritical" ref="a7f115b5076497bd3af236e8778940ea1" 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">
+
+</div>
+</div>
+<a class="anchor" id="ad9c4e9fd2b26240900ff7c74cd7e8404"></a><!-- doxytag: member="logging.h::contextDebug" ref="ad9c4e9fd2b26240900ff7c74cd7e8404" 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">
+
+</div>
+</div>
+<a class="anchor" id="afbeb0b1d3a7070b195c5a6a5a062dc56"></a><!-- doxytag: member="logging.h::contextFeature" ref="afbeb0b1d3a7070b195c5a6a5a062dc56" 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">
+
+</div>
+</div>
+<a class="anchor" id="abfb57c8a40821bf0caa9a29a8dfc47b7"></a><!-- doxytag: member="logging.h::contextTest" ref="abfb57c8a40821bf0caa9a29a8dfc47b7" 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">
+
+</div>
+</div>
+<a class="anchor" id="a63433fe15ab356004ccdd4263b0910c0"></a><!-- doxytag: member="logging.h::contextWarning" ref="a63433fe15ab356004ccdd4263b0910c0" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f28fe46f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/logging_8h_source.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#af4c5c4bc7df62d9c450a10142ada2f73">00032</a> <span class="preprocessor">#define CONTEXT_LOG_MSG_TYPE_TEST 1</span>
+<a name="l00033"></a><a class="code" href="logging_8h.html#a31a4dd1d3ccd43a859bc3b3c12de8a83">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#a135d5a5bda27a9c86559a49deba43788">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#a5caff9634fb82d206523ecc35720802c">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#aa01ef6b4b7c61c0ae8d236d07bc69a62">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define CONTEXT_LOG_MODULE_NAME &quot;unknown&quot;</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#af1dc3766a0b0e21ba0a2f22a3102d09b" 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#a7c0d22d25f95a49373b195d8c55d1dc7" 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#a6938d336fbf692bd91d84687a342184b">00048</a> QString <a class="code" href="class_context_feature.html#a6938d336fbf692bd91d84687a342184b">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#aee3a7c4dac60f4ec39165edf96466637" title="Constructor.">ContextRealLogger</a>(<span class="keywordtype">int</span> <a class="code" href="class_context_real_logger.html#a2ee1b0baea9a178ad3b84b13342b0127" 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#ad45b7a29bfd04c8678e2336964621b16" 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#adbf345abfa4979dad50fa64587d8b12b">00057</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#adbf345abfa4979dad50fa64587d8b12b" title="Test messages enabled at runtime.">showTest</a>;
+<a name="l00058"></a><a class="code" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07">00058</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a149b4fa211448303b24806071a010e07" title="Debug messages enabled at runtime.">showDebug</a>;
+<a name="l00059"></a><a class="code" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2">00059</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#acf5deaf1c001736730952794379c9fb2" title="Warning messages enabled at runtime.">showWarning</a>;
+<a name="l00060"></a><a class="code" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0">00060</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a7ffcc463d565ee93eadef3d95b388ac0" title="Critical messages enabled at runtime.">showCritical</a>;
+<a name="l00061"></a><a class="code" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8">00061</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#aca946deec46d8e37f40b20a978d92ee8" title="Class initialized/env vars parsed.">initialized</a>;
+<a name="l00062"></a><a class="code" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45">00062</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a73b4d5021ffae90cbe7e9f914e307c45" title="Don&amp;#39;t print timestamps.">hideTimestamps</a>;
+<a name="l00063"></a><a class="code" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902">00063</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a681ec8a8c8151a6e76de1b1b3aebe902" 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#a261f1adeed09c748431d960c009280e2">00064</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#a261f1adeed09c748431d960c009280e2" title="Show messages only from the specified module.">showModule</a>;
+<a name="l00065"></a><a class="code" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f">00065</a> <span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="class_context_real_logger.html#a29217f7733d4f5a8d73fa20dea9c2b8f" title="Hide messages from the specified module.">hideModule</a>;
+<a name="l00066"></a><a class="code" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486">00066</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#ad3e0dc8c801098e35a385d712369b486" title="Show messages with only the specified features.">showFeatures</a>;
+<a name="l00067"></a><a class="code" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61">00067</a> <span class="keyword">static</span> QStringList <a class="code" href="class_context_real_logger.html#a1ad94fcbdca55015db01b33566642d61" title="Hide messages with the specified features.">hideFeatures</a>;
+<a name="l00068"></a><a class="code" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413">00068</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_real_logger.html#a11114df34f0dc06d4261a98db0c1a413" 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#ae753079d62a886dd09c0576ad524c8f4" 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#a4a3d4d64fb340a1f4adb698106ee6d4b" 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#a83a9a63cef3753053154b86da8da52bb">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#a4a3d4d64fb340a1f4adb698106ee6d4b" 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#a4a3d4d64fb340a1f4adb698106ee6d4b" 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#adb17a18fe2b4e07d23484b3e62661d4b">shouldPrint</a>();
+<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="class_context_real_logger.html#a1f6e0152e1e606b00e45f720d4eeba99" 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#a2ee1b0baea9a178ad3b84b13342b0127">00089</a> <span class="keywordtype">int</span> msgType;
+<a name="l00090"></a><a class="code" href="class_context_real_logger.html#a25735132cf3de872624cd42f0c667707">00090</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_context_real_logger.html#a25735132cf3de872624cd42f0c667707" title="The module name.">moduleName</a>;
+<a name="l00091"></a><a class="code" href="class_context_real_logger.html#a1ade8a975d63f4e178eba2e2d4a26f1e">00091</a> QString <a class="code" href="class_context_real_logger.html#a1ade8a975d63f4e178eba2e2d4a26f1e" title="Holds the stream data.">data</a>;
+<a name="l00092"></a><a class="code" href="class_context_real_logger.html#a9aaf9fde5617bf1f71630f2d3c74fb6f">00092</a> QStringList <a class="code" href="class_context_real_logger.html#a9aaf9fde5617bf1f71630f2d3c74fb6f">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#a95e0d40b90ed9c3f360067a3dadaa0c7">00110</a> <span class="keyword">inline</span> <a class="code" href="class_context_zero_logger.html#a95e0d40b90ed9c3f360067a3dadaa0c7" 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#aae39e44e016d29a07bd076470bc171bb">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#aae39e44e016d29a07bd076470bc171bb" 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#afbeb0b1d3a7070b195c5a6a5a062dc56">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#abfb57c8a40821bf0caa9a29a8dfc47b7">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#ad9c4e9fd2b26240900ff7c74cd7e8404">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#a63433fe15ab356004ccdd4263b0910c0">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#a7f115b5076497bd3af236e8778940ea1">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..e5bc19f3
--- /dev/null
+++ b/libcontextsubscriber/doc/html/loggingfeatures_8h.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#ad7fd5183657903f8730bcac257da9c87">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#ae141f43f0eca517471078c8af1aa39ca">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#ae16e24aad7b594e86bcafe62f121cd58">F_TYPES</a>&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;types&quot;))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a73ca9473e98211f78c6e7598222ff409">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#aca391b305bf0f67f18c524f746a8ddf0">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">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" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="loggingfeatures_8h.html#a0daf017d3128067f7e97711dc5d81d5e">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" id="aca391b305bf0f67f18c524f746a8ddf0"></a><!-- doxytag: member="loggingfeatures.h::F_CDB" ref="aca391b305bf0f67f18c524f746a8ddf0" 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">
+
+</div>
+</div>
+<a class="anchor" id="ad7fd5183657903f8730bcac257da9c87"></a><!-- doxytag: member="loggingfeatures.h::F_DEPRECATION" ref="ad7fd5183657903f8730bcac257da9c87" 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">
+
+</div>
+</div>
+<a class="anchor" id="a3f992e5d9c45228ce6af4ffb0f3f38a3"></a><!-- doxytag: member="loggingfeatures.h::F_DESTROY" ref="a3f992e5d9c45228ce6af4ffb0f3f38a3" 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">
+
+</div>
+</div>
+<a class="anchor" id="a0daf017d3128067f7e97711dc5d81d5e"></a><!-- doxytag: member="loggingfeatures.h::F_PLUGINS" ref="a0daf017d3128067f7e97711dc5d81d5e" 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">
+
+</div>
+</div>
+<a class="anchor" id="ae141f43f0eca517471078c8af1aa39ca"></a><!-- doxytag: member="loggingfeatures.h::F_THREADS" ref="ae141f43f0eca517471078c8af1aa39ca" 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">
+
+</div>
+</div>
+<a class="anchor" id="ae16e24aad7b594e86bcafe62f121cd58"></a><!-- doxytag: member="loggingfeatures.h::F_TYPES" ref="ae16e24aad7b594e86bcafe62f121cd58" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define F_TYPES&nbsp;&nbsp;&nbsp;(<a class="el" href="class_context_feature.html">ContextFeature</a>(&quot;types&quot;))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a73ca9473e98211f78c6e7598222ff409"></a><!-- doxytag: member="loggingfeatures.h::F_XML" ref="a73ca9473e98211f78c6e7598222ff409" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..bf5ae57a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/loggingfeatures_8h_source.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#ad7fd5183657903f8730bcac257da9c87">00025</a> <span class="preprocessor">#define F_DEPRECATION (ContextFeature(&quot;deprecation&quot;))</span>
+<a name="l00026"></a><a class="code" href="loggingfeatures_8h.html#ae141f43f0eca517471078c8af1aa39ca">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define F_THREADS (ContextFeature(&quot;threads&quot;))</span>
+<a name="l00027"></a><a class="code" href="loggingfeatures_8h.html#ae16e24aad7b594e86bcafe62f121cd58">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define F_TYPES (ContextFeature(&quot;types&quot;))</span>
+<a name="l00028"></a><a class="code" href="loggingfeatures_8h.html#a73ca9473e98211f78c6e7598222ff409">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define F_XML (ContextFeature(&quot;xml&quot;))</span>
+<a name="l00029"></a><a class="code" href="loggingfeatures_8h.html#aca391b305bf0f67f18c524f746a8ddf0">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define F_CDB (ContextFeature(&quot;cdb&quot;))</span>
+<a name="l00030"></a><a class="code" href="loggingfeatures_8h.html#a3f992e5d9c45228ce6af4ffb0f3f38a3">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define F_DESTROY (ContextFeature(&quot;destroy&quot;))</span>
+<a name="l00031"></a><a class="code" href="loggingfeatures_8h.html#a0daf017d3128067f7e97711dc5d81d5e">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define F_PLUGINS (ContextFeature(&quot;plugins&quot;))</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/migratingfromduivaluespace.html b/libcontextsubscriber/doc/html/migratingfromduivaluespace.html
new file mode 100644
index 00000000..ca7660ea
--- /dev/null
+++ b/libcontextsubscriber/doc/html/migratingfromduivaluespace.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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">
+<p>libcontextsubscriber is a replacement library for DuiValueSpace which is deprecated.</p>
+<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.</p>
+<h2><a class="anchor" id="quicklook">
+A quick look</a></h2>
+<p>The following code for creating a handle for a context property:</p>
+<div class="fragment"><pre class="fragment"> DuiValueSpaceItem topEdge(<span class="stringliteral">&quot;Context.Screen.TopEdge&quot;</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">&quot;Screen.TopEdge&quot;</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#a93a34519ddb495338876ba0e1d1a4247" title="Returns the singleton instance of the ContextRegistryInfo.">ContextRegistryInfo::instance</a>()-&gt;<a class="code" href="class_context_registry_info.html#a963309761292d39921da3fb06cb31060" title="Returns the list of all the keys currently availible in the registry.">listKeys</a>();
+</pre></div><h2><a class="anchor" id="prefix">
+The Context. prefix</a></h2>
+<p>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>
+<p>A call to:</p>
+<div class="fragment"><pre class="fragment"> DuiValueSpaceItem topEdge(<span class="stringliteral">&quot;Context.Screen.TopEdge&quot;</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>
+<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"><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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..83fffb26
--- /dev/null
+++ b/libcontextsubscriber/doc/html/mocs_8cpp.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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="contexttyperegistryinfo_8h_source.html">contexttyperegistryinfo.h</a>&quot;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..41719263
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespace_context_subscriber.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><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 colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_context_subscriber_1_1_pending_subscribe_watcher.html">PendingSubscribeWatcher</a></td></tr>
+<tr><td class="memItemLeft" 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" 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" 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" 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" 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" 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" 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" 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 class="memItemLeft" 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 colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" 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#a8633109a61fa262fddd2d10ba1631c16">PluginFactoryFunc</a> )(QString constructionString)</td></tr>
+</table>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a8633109a61fa262fddd2d10ba1631c16"></a><!-- doxytag: member="ContextSubscriber::PluginFactoryFunc" ref="a8633109a61fa262fddd2d10ba1631c16" 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#a8633109a61fa262fddd2d10ba1631c16">ContextSubscriber::PluginFactoryFunc</a>)(QString constructionString)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/namespacemembers.html b/libcontextsubscriber/doc/html/namespacemembers.html
new file mode 100644
index 00000000..45b812ef
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespacemembers.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><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:<ul>
+<li>PluginFactoryFunc
+: <a class="el" href="namespace_context_subscriber.html#a8633109a61fa262fddd2d10ba1631c16">ContextSubscriber</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..68ae0213
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespacemembers_type.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><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;<ul>
+<li>PluginFactoryFunc
+: <a class="el" href="namespace_context_subscriber.html#a8633109a61fa262fddd2d10ba1631c16">ContextSubscriber</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/namespaces.html b/libcontextsubscriber/doc/html/namespaces.html
new file mode 100644
index 00000000..4876da8a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/namespaces.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..fdf485ef
--- /dev/null
+++ b/libcontextsubscriber/doc/html/nanoxml_8cpp.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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">
+</table>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4a5cc31b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/nanoxml_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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/>
+<code>#include &quot;<a class="el" href="assoctree_8h_source.html">assoctree.h</a>&quot;</code><br/>
+
+<p><a href="nanoxml_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 an association tree, which serves as a nano document object model. <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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..cc20d93b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/nanoxml_8h_source.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 <span class="preprocessor">#include &quot;<a class="code" href="assoctree_8h.html">assoctree.h</a>&quot;</span>
+<a name="l00031"></a>00031
+<a name="l00032"></a><a class="code" href="class_nano_xml.html">00032</a> <span class="keyword">class </span><a class="code" href="class_nano_xml.html" title="Parses XML files into an association tree, which serves as a nano document object...">NanoXml</a> : <span class="keyword">public</span> QXmlDefaultHandler
+<a name="l00033"></a>00033 {
+<a name="l00034"></a>00034 <span class="keyword">public</span>:
+<a name="l00035"></a>00035 <a class="code" href="class_nano_xml.html#a6bba582991cf13e4af332ae999f650e0" title="Constructor.">NanoXml</a>(<span class="keyword">const</span> QString&amp; path);
+<a name="l00036"></a>00036 <a class="code" href="class_nano_xml.html#a940fbfce7d0fab29a5ba6b5b840c4d71" title="Destructor.">~NanoXml</a>();
+<a name="l00037"></a>00037 <span class="keyword">const</span> QString <a class="code" href="class_nano_xml.html#aae6e7c0a8785f75cb06abb27c348833b" title="Returns the namespace URI of the parsed (source) XML document.">namespaceUri</a>();
+<a name="l00038"></a>00038 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#ab5729afbebfb708cab217298891fe31b" title="Returns true if parsing failed.">didFail</a>();
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="keyword">private</span>:
+<a name="l00041"></a><a class="code" href="class_nano_xml.html#a2e0c55cb00dfdfcb09191b685c9c7624">00041</a> QVariant <a class="code" href="class_nano_xml.html#a2e0c55cb00dfdfcb09191b685c9c7624" title="The root variant. Created at the end of parsing.">rootVariant</a>;
+<a name="l00042"></a><a class="code" href="class_nano_xml.html#abfef8deeba2c746ee63ae4f1e64f7551">00042</a> QList&lt;QVariant&gt; *<a class="code" href="class_nano_xml.html#abfef8deeba2c746ee63ae4f1e64f7551" title="The current list that we&amp;#39;re adding to. Top of the stack, kinda.">current</a>;
+<a name="l00043"></a><a class="code" href="class_nano_xml.html#afec8c67035475122807dfacfcd0c3563">00043</a> QStack&lt;QList &lt;QVariant&gt;* &gt; <a class="code" href="class_nano_xml.html#afec8c67035475122807dfacfcd0c3563" title="The stack of lists.">stack</a>;
+<a name="l00044"></a><a class="code" href="class_nano_xml.html#a4d517f665a6ffe310ba89b94f5252295">00044</a> <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#a4d517f665a6ffe310ba89b94f5252295" title="This is set by the parser to signify an error.">failed</a>;
+<a name="l00045"></a><a class="code" href="class_nano_xml.html#a80322fd3991316e0c5d9e42dbc024a21">00045</a> QString <a class="code" href="class_nano_xml.html#a80322fd3991316e0c5d9e42dbc024a21" title="Stores the namespace uri.">nspace</a>;
+<a name="l00046"></a>00046
+<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="class_nano_xml.html#a750f872971e1b36ecffc4ead3250e17d" title="Parser internal. Creates a new list and pushes it to the top of the stack.">pushList</a>();
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="class_nano_xml.html#a0820f7cc298465a54350f998af40d929" 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="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="class_nano_xml.html#adb05786203f23b7a96ee1db103582729" title="Parser internal.">popList</a>();
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 <span class="keyword">public</span>:
+<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#a9a53418260e9b9ae8bc3da9b0fae2b35" 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="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#ae2884ebc5e4c6e60c2419ab47fb05d37" 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="l00054"></a>00054 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#abb825f9876e40c023c0b3b1ab0b09828" 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="l00055"></a>00055 <span class="keywordtype">bool</span> <a class="code" href="class_nano_xml.html#ad051fdc20099f73a6595cb229e5c5854" title="Called by the XML parser when parsing starts.">characters</a>(<span class="keyword">const</span> QString &amp;chars);
+<a name="l00056"></a>00056
+<a name="l00057"></a>00057 <a class="code" href="class_assoc_tree.html">AssocTree</a> <a class="code" href="class_nano_xml.html#a452fbcd08e639557de164fbf6e9af265">result</a>();
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059
+<a name="l00060"></a>00060 <span class="preprocessor">#endif // NANOXML_H</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/pages.html b/libcontextsubscriber/doc/html/pages.html
new file mode 100644
index 00000000..cc19452f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/pages.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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>
+<li><a class="el" href="migratingfromduivaluespace.html">MigratingFromDuiValueSpace</a>
+</li>
+<li><a class="el" href="updatingcontextproviders.html">UpdatingContextProviders</a>
+</li>
+<li><a class="el" href="logging.html">Logging</a>
+</li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9754d931
--- /dev/null
+++ b/libcontextsubscriber/doc/html/propertyhandle_8cpp.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..bde2fa3f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/propertyhandle_8h.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..7bb53e03
--- /dev/null
+++ b/libcontextsubscriber/doc/html/propertyhandle_8h_source.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a0b12828c764b164dc276a84d46c2ae55" 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#ad1e8961717be9c3a813096092d1837a4" 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#a6d4c9e5006a080e7ae645ed15b1edb28">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#abfeb2b16704e22adc33c31e162ef4e36">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#a22f3af77b3cd883beeab47c5f4365169">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#a2626ff2603e1afcd8172008d5932006a">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#a7f70f0de00c9781d43c99ca5d7f87eb1">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#a1d0a471cd063b862fcf09aafd4b125af" 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#afc48b064e1b5be372519391772fc7ea8" title="Sets subscribePending to false.">setSubscribeFinished</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> *provider);
+<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#a6001316d6491ca69ca5be43af4a36211">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#a3031c1cf5c5d3ccdcf91a2218c2e460e">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#a0ceee4d69e18be36e726af552aaa58ba">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#a067242c57b142940ba02b1e5a74548d5" 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#a1d523c4bc3538073f7f617456cd81a79">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#ae40e9519b089dfeefcad97f633839c2b">00068</a> QSet&lt;Provider*&gt; <a class="code" href="class_context_subscriber_1_1_property_handle.html#ae40e9519b089dfeefcad97f633839c2b" title="Providers pending subscription.">pendingSubscriptions</a>;
+<a name="l00069"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41">00069</a> QList&lt;Provider*&gt; <a class="code" href="class_context_subscriber_1_1_property_handle.html#a09bbc4df793d9740be2e84cb11fccf41" title="Providers of this property.">myProviders</a>;
+<a name="l00070"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#aaa914d9958d6a3f6b69d3b1446307cea">00070</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#aaa914d9958d6a3f6b69d3b1446307cea" title="Metadata for this property.">myInfo</a>;
+<a name="l00071"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#a809f0eae9aef4ffec99f035b7e0e547f">00071</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#a809f0eae9aef4ffec99f035b7e0e547f" title="Number of subscribed ContextProperty objects subscribed to this property.">subscribeCount</a>;
+<a name="l00072"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">00072</a> QMutex <a class="code" href="class_context_subscriber_1_1_property_handle.html#ae7fb88f203671edb264655c06bc2e1f0">subscribeCountLock</a>;
+<a name="l00073"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d">00073</a> QString <a class="code" href="class_context_subscriber_1_1_property_handle.html#aba3e2fbd0fc8a8ab0db60efe934f7d6d" title="Key of this property.">myKey</a>;
+<a name="l00074"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">00074</a> <span class="keyword">mutable</span> QReadWriteLock <a class="code" href="class_context_subscriber_1_1_property_handle.html#ad3d31e74ac2b7e1727ff0947895f4fc1">valueLock</a>;
+<a name="l00075"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df">00075</a> QVariant <a class="code" href="class_context_subscriber_1_1_property_handle.html#a984638b2c34c7756fd17ff41de90a2df" title="Current value of this property.">myValue</a>;
+<a name="l00076"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#a8cb5a37f3a69e7019e9d7559e1e2993c">00076</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#a8cb5a37f3a69e7019e9d7559e1e2993c" title="Listener for ContextCommander&amp;#39;s (dis)appearance.">commanderListener</a>;
+<a name="l00077"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#acb7a882c3ef0423544754bd6fd5de7af">00077</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#acb7a882c3ef0423544754bd6fd5de7af" title="Whether the properties can be directed to ContextCommander.">commandingEnabled</a>;
+<a name="l00078"></a><a class="code" href="class_context_subscriber_1_1_property_handle.html#a27312e770b51ebf5439e31361ceb46c4">00078</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_property_handle.html#a27312e770b51ebf5439e31361ceb46c4" title="Whether we check the type of the value received from the provider.">typeCheckEnabled</a>;
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080
+<a name="l00081"></a>00081 } <span class="comment">// end namespace</span>
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..eb33a04f
--- /dev/null
+++ b/libcontextsubscriber/doc/html/provider_8cpp.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4908bc8c
--- /dev/null
+++ b/libcontextsubscriber/doc/html/provider_8h.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="el" href="timedvalue_8h_source.html">timedvalue.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/>
+
+<p><a href="provider_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..c75b3db4
--- /dev/null
+++ b/libcontextsubscriber/doc/html/provider_8h_source.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="queuedinvoker_8h.html">queuedinvoker.h</a>&quot;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;<a class="code" href="contextproviderinfo_8h.html">contextproviderinfo.h</a>&quot;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;<a class="code" href="timedvalue_8h.html">timedvalue.h</a>&quot;</span>
+<a name="l00028"></a>00028
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;QObject&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;QDBusConnection&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;QSet&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;QMutex&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="class_context_subscriber_1_1_provider.html">00044</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="l00045"></a>00045 {
+<a name="l00046"></a>00046 Q_OBJECT
+<a name="l00047"></a>00047
+<a name="l00048"></a>00048 <span class="keyword">public</span>:
+<a name="l00049"></a>00049 <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#acf3f43a824c33ffaf349feeb9c34b5d0" 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#a6e8a91f8a673fb8f2f645212844eb421" title="Parameters used to initialize the plugin.">providerInfo</a>);
+<a name="l00050"></a>00050 <span class="keywordtype">bool</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a063cf90bfd10f0bca4ed471f2c3a9c1e" title="Schedules a property to be subscribed to.">subscribe</a>(<span class="keyword">const</span> QString &amp;key);
+<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#aa6aa042d4a006eb0930d7805139e801f" 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="l00052"></a>00052 <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="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#ae2569ebe40afb18160eccc699574e3c7" title="Clears the cached values for this provider.">clearValues</a>();
+<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_subscriber_1_1_provider.html#afd4795579900229d0710f2a1a707df16">subscribeFinished</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> *provider, QString key);
+<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a6288252eecf25f879ecb7c1a507a9088">valueChanged</a>(QString 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> <a class="code" href="class_context_subscriber_1_1_provider.html#ac87916df512014e5048eda7ae9daf3b9" title="Updates pluginState to READY and requests subscription for the keys that should be...">onPluginReady</a>();
+<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a0b9a9637b9bdd8a3989cfccb14c8a24b" title="Updates pluginState to FAILED and signals subscribeFinished for keys we are trying...">onPluginFailed</a>(QString error);
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#acbbadf63086f6b37ff9a9e8e64180032" title="Deprecated.">onPluginSubscribeFinished</a>(QString key);
+<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#acbbadf63086f6b37ff9a9e8e64180032" title="Deprecated.">onPluginSubscribeFinished</a>(QString key, <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> value);
+<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#ad18a07fdfb76dfa71f15f4b3e1200793" title="Forwards the call to signalSubscribeFinished, after logging a warning.">onPluginSubscribeFailed</a>(QString failedKey, QString error);
+<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#ac04c071faa737c9b7f029ef0125f6a1c" title="Deprecated: plugins should use the variant taking a TimedValue.">onPluginValueChanged</a>(QString key, QVariant newValue);
+<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#ac04c071faa737c9b7f029ef0125f6a1c" title="Deprecated: plugins should use the variant taking a TimedValue.">onPluginValueChanged</a>(QString key, <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> newValue);
+<a name="l00067"></a>00067
+<a name="l00068"></a>00068 <span class="keyword">private</span>:
+<a name="l00069"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1">00069</a> <span class="keyword">enum</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52b">PluginState</a> { <a class="code" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba429fabee9e8f6a76d3903db54c76bd46">INITIALIZING</a>, <a class="code" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba142be3c672ac9a6f3fe477b6eeb1acb1">READY</a>, <a class="code" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52ba6c35b4588f19b72888a9fca0b911642f">FAILED</a> };
+<a name="l00070"></a>00070 <a class="code" href="class_context_subscriber_1_1_provider.html#ae4221b5f1438404820abee8de2ed3daa" 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="l00071"></a>00071 Q_INVOKABLE <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#ab78d5f8ff72bedb037f1f2b15cbda9b9" title="Executed when the main loop is entered and we have previously scheduled subscriptions...">handleSubscribes</a>();
+<a name="l00072"></a>00072 Q_INVOKABLE <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a1e2136dc7c4ad62b020c7ed95914bb67" title="Decides which plugin to instantiate based on the plugin passed to the constructor...">constructPlugin</a>();
+<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="class_context_subscriber_1_1_provider.html#a3046efee2679aa33602deb4f27877eba" title="The plugin has finished subscribing to a key, signals this fact to the upper layer...">signalSubscribeFinished</a>(QString key);
+<a name="l00074"></a>00074
+<a name="l00075"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a620db59b31c197b98ee64369fd46b30e">00075</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#a620db59b31c197b98ee64369fd46b30e" title="Plugin instance communicating with the concrete provider.">plugin</a>;
+<a name="l00076"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a904cca899aba13b6d356fea73737169e">00076</a> <a class="code" href="class_context_subscriber_1_1_provider.html#a18f291fc00e50055a02525f70e38a52b">PluginState</a> <a class="code" href="class_context_subscriber_1_1_provider.html#a904cca899aba13b6d356fea73737169e">pluginState</a>;
+<a name="l00077"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a6e8a91f8a673fb8f2f645212844eb421">00077</a> <a class="code" href="struct_context_provider_info.html">ContextProviderInfo</a> providerInfo;
+<a name="l00078"></a>00078
+<a name="l00079"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a154fa6041cd471ac46c1038f312ffde6">00079</a> QMutex <a class="code" href="class_context_subscriber_1_1_provider.html#a154fa6041cd471ac46c1038f312ffde6">subscribeLock</a>;
+<a name="l00080"></a><a class="code" href="class_context_subscriber_1_1_provider.html#acbf130166861d576d906fc99da9b2d6d">00080</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#acbf130166861d576d906fc99da9b2d6d" title="Keys pending for subscription.">toSubscribe</a>;
+<a name="l00081"></a><a class="code" href="class_context_subscriber_1_1_provider.html#aee2cca89bff8d2bc65039a42cb32563c">00081</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#aee2cca89bff8d2bc65039a42cb32563c" title="Keys pending for unsubscription.">toUnsubscribe</a>;
+<a name="l00082"></a>00082
+<a name="l00083"></a>00083 <span class="comment">// FIXME: rename this to something which contains the word intention in it</span>
+<a name="l00084"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a6b07417f7e024f8dac5b3b327383dbe9">00084</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#a6b07417f7e024f8dac5b3b327383dbe9" title="The keys that should be currently subscribed to.">subscribedKeys</a>;
+<a name="l00085"></a>00085
+<a name="l00086"></a><a class="code" href="class_context_subscriber_1_1_provider.html#a6e41ed2ec544fc16bd399d8fbcec46ed">00086</a> QMap&lt;QString, TimedValue&gt; <a class="code" href="class_context_subscriber_1_1_provider.html#a6e41ed2ec544fc16bd399d8fbcec46ed" title="A cache of values already received from the plugin.">values</a>;
+<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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..cd4d4270
--- /dev/null
+++ b/libcontextsubscriber/doc/html/queuedinvoker_8cpp.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..63f0d02b
--- /dev/null
+++ b/libcontextsubscriber/doc/html/queuedinvoker_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..3a48eff9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/queuedinvoker_8h_source.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a15135b7f30c409e3b8d0cd856444803a">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#ab58352ea20647142ba50d529fc1b651b" 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#a9e3fb1afd2eea8cb4b588f3d80bf2e3e">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#a431ca591c990aa22bffb1cfed4b42aff" 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#aea2e2e6956a76f58083214bbb327a04c">00049</a> QMutex <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#aea2e2e6956a76f58083214bbb327a04c" title="Protects the callQueue.">callQueueLock</a>;
+<a name="l00050"></a><a class="code" href="class_context_subscriber_1_1_queued_invoker.html#ac786085eae3605b42b0e7f3cda99fe32">00050</a> QSet&lt;QString&gt; <a class="code" href="class_context_subscriber_1_1_queued_invoker.html#ac786085eae3605b42b0e7f3cda99fe32" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..bd0a24a5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1f4f069e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/safedbuspendingcallwatcher_8h_source.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 &quot;<a class="code" href="sconnect_8h.html">sconnect.h</a>&quot;</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#a42bd0855e807cce5477ea61f4f094526">00014</a> <a class="code" href="class_safe_d_bus_pending_call_watcher.html#a42bd0855e807cce5477ea61f4f094526">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#acab553d9479843d076c4cf952cceeefc">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..63badd8a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/sconnect_8h.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">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" id="acab553d9479843d076c4cf952cceeefc"></a><!-- doxytag: member="sconnect.h::sconnect" ref="acab553d9479843d076c4cf952cceeefc" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..e8d7f890
--- /dev/null
+++ b/libcontextsubscriber/doc/html/sconnect_8h_source.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#acab553d9479843d076c4cf952cceeefc">00028</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="sconnect_8h.html#acab553d9479843d076c4cf952cceeefc">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">&quot; *****************\n&quot;</span>
+<a name="l00033"></a>00033 <span class="stringliteral">&quot;Connect returned false, aborting, enable core dumping (ulimit -c unlimited), \n&quot;</span>
+<a name="l00034"></a>00034 <span class="stringliteral">&quot;enable debug (qmake CONFIG+=debug), recompile, rerun and then use the\n&quot;</span>
+<a name="l00035"></a>00035 <span class="stringliteral">&quot;core file with gdb&apos;s backtrace to see the location.\n&quot;</span>
+<a name="l00036"></a>00036 <span class="stringliteral">&quot; *****************\n&quot;</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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a10975f1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_property_private.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" 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#ac2610b423813eb22e45a7136ed932713">handle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The common handle behind this context property. <a href="#ac2610b423813eb22e45a7136ed932713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_property_private.html#a8fa3197617a450a91c4c4bbca5cdbecd">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="#a8fa3197617a450a91c4c4bbca5cdbecd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_property_private.html#a791be72a33207ec899155fb4f2689e13">value</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Our knowledge of the value. <a href="#a791be72a33207ec899155fb4f2689e13"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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. </p>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="ac2610b423813eb22e45a7136ed932713"></a><!-- doxytag: member="ContextPropertyPrivate::handle" ref="ac2610b423813eb22e45a7136ed932713" 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#ac2610b423813eb22e45a7136ed932713">ContextPropertyPrivate::handle</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The common handle behind this context property. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8fa3197617a450a91c4c4bbca5cdbecd"></a><!-- doxytag: member="ContextPropertyPrivate::subscribed" ref="a8fa3197617a450a91c4c4bbca5cdbecd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool <a class="el" href="struct_context_property_private.html#a8fa3197617a450a91c4c4bbca5cdbecd">ContextPropertyPrivate::subscribed</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>True, if we are subscribed to the handle behind us. </p>
+
+</div>
+</div>
+<a class="anchor" id="a791be72a33207ec899155fb4f2689e13"></a><!-- doxytag: member="ContextPropertyPrivate::value" ref="a791be72a33207ec899155fb4f2689e13" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QVariant <a class="el" href="struct_context_property_private.html#a791be72a33207ec899155fb4f2689e13">ContextPropertyPrivate::value</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Our knowledge of the value. </p>
+<p>Needed because several valueChanged signals might be emitted (queued) by the PropertyHandle, without us handling them. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="contextproperty_8cpp.html">contextproperty.cpp</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..4581288a
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_provider_info-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">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#a4921a7a3f436365be181bbb14a1a7974">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#aa989d7c55042d3eef5d514e017658b0c">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#a77543a6ec6f46f6b72dad84180c216ec">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1d21b465
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_provider_info.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p><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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#a4921a7a3f436365be181bbb14a1a7974">ContextProviderInfo</a> (const QString &amp;<a class="el" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a>, const QString &amp;<a class="el" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">constructionString</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#aa989d7c55042d3eef5d514e017658b0c">operator&lt;</a> (const <a class="el" href="struct_context_provider_info.html">ContextProviderInfo</a> &amp;other) const </td></tr>
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">plugin</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">constructionString</a></td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4921a7a3f436365be181bbb14a1a7974"></a><!-- doxytag: member="ContextProviderInfo::ContextProviderInfo" ref="a4921a7a3f436365be181bbb14a1a7974" 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">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa989d7c55042d3eef5d514e017658b0c"></a><!-- doxytag: member="ContextProviderInfo::operator&lt;" ref="aa989d7c55042d3eef5d514e017658b0c" 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">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a89fcb02b9d4b4d6591471288c2816665"></a><!-- doxytag: member="ContextProviderInfo::constructionString" ref="a89fcb02b9d4b4d6591471288c2816665" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_context_provider_info.html#a89fcb02b9d4b4d6591471288c2816665">ContextProviderInfo::constructionString</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a77543a6ec6f46f6b72dad84180c216ec"></a><!-- doxytag: member="ContextProviderInfo::plugin" ref="a77543a6ec6f46f6b72dad84180c216ec" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_context_provider_info.html#a77543a6ec6f46f6b72dad84180c216ec">ContextProviderInfo::plugin</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<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></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..f78f3ac5
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value-members.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ae7b3f26190c4ad9e1cdbc0ce81b13e9c">operator&lt;</a>(const TimedValue &amp;other)</td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">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#ad06ff4b451dbf2e11ed41220634e7767">TimedValue</a>()</td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ade2f567bc01e0376e34d106acf84c917">TimedValue</a>(const QVariant &amp;value, quint64 time)</td><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html">ContextSubscriber::TimedValue</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#a37a5bb08705741e6256adc097018dec2">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><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..160da57d
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_context_subscriber_1_1_timed_value.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p><code>#include &lt;<a class="el" href="timedvalue_8h_source.html">timedvalue.h</a>&gt;</code></p>
+
+<p><a href="struct_context_subscriber_1_1_timed_value-members.html">List of all members.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">TimedValue</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ade2f567bc01e0376e34d106acf84c917">TimedValue</a> (const QVariant &amp;<a class="el" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a>, quint64 <a class="el" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#a37a5bb08705741e6256adc097018dec2">TimedValue</a> (const QVariant &amp;<a class="el" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#ae7b3f26190c4ad9e1cdbc0ce81b13e9c">operator&lt;</a> (const <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> &amp;other)</td></tr>
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">quint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QVariant&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a></td></tr>
+</table>
+<hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad06ff4b451dbf2e11ed41220634e7767"></a><!-- doxytag: member="ContextSubscriber::TimedValue::TimedValue" ref="ad06ff4b451dbf2e11ed41220634e7767" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ContextSubscriber::TimedValue::TimedValue </td>
+ <td>(</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ade2f567bc01e0376e34d106acf84c917"></a><!-- doxytag: member="ContextSubscriber::TimedValue::TimedValue" ref="ade2f567bc01e0376e34d106acf84c917" args="(const QVariant &amp;value, quint64 time)" -->
+<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>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">quint64&nbsp;</td>
+ <td class="paramname"> <em>time</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">
+
+</div>
+</div>
+<a class="anchor" id="a37a5bb08705741e6256adc097018dec2"></a><!-- doxytag: member="ContextSubscriber::TimedValue::TimedValue" ref="a37a5bb08705741e6256adc097018dec2" 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><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae7b3f26190c4ad9e1cdbc0ce81b13e9c"></a><!-- doxytag: member="ContextSubscriber::TimedValue::operator&lt;" ref="ae7b3f26190c4ad9e1cdbc0ce81b13e9c" args="(const TimedValue &amp;other)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool ContextSubscriber::TimedValue::operator&lt; </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>other</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a9d28305bc4a62034bf874998b8788999"></a><!-- doxytag: member="ContextSubscriber::TimedValue::time" ref="a9d28305bc4a62034bf874998b8788999" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">quint64 <a class="el" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">ContextSubscriber::TimedValue::time</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aec98d0cb5ab101f02685a62fa1e3c6d2"></a><!-- doxytag: member="ContextSubscriber::TimedValue::value" ref="aec98d0cb5ab101f02685a62fa1e3c6d2" 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#aec98d0cb5ab101f02685a62fa1e3c6d2">ContextSubscriber::TimedValue::value</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="timedvalue_8h_source.html">timedvalue.h</a></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..1d30e542
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_info_key_data-members.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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.<table>
+ <tr class="memlist"><td><a class="el" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b">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#a224cbd09f2ffc23ea7dc12c8be85cc45">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#a08cfc371d93579535850f38bf87fab7b">typeInfo</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 Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..9036da4e
--- /dev/null
+++ b/libcontextsubscriber/doc/html/struct_info_key_data.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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" -->
+<p>Simple storage class that groups info about a given key.
+<a href="#_details">More...</a></p>
+
+<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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html#a224cbd09f2ffc23ea7dc12c8be85cc45">name</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of the we're storing data for. <a href="#a224cbd09f2ffc23ea7dc12c8be85cc45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html#a08cfc371d93579535850f38bf87fab7b">typeInfo</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type information of the key. <a href="#a08cfc371d93579535850f38bf87fab7b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b">doc</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Doc for the key. <a href="#af2025a010ef84e2ef111c79a80e01d9b"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Simple storage class that groups info about a given key. </p>
+<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. </p>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="af2025a010ef84e2ef111c79a80e01d9b"></a><!-- doxytag: member="InfoKeyData::doc" ref="af2025a010ef84e2ef111c79a80e01d9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_info_key_data.html#af2025a010ef84e2ef111c79a80e01d9b">InfoKeyData::doc</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Doc for the key. </p>
+
+</div>
+</div>
+<a class="anchor" id="a224cbd09f2ffc23ea7dc12c8be85cc45"></a><!-- doxytag: member="InfoKeyData::name" ref="a224cbd09f2ffc23ea7dc12c8be85cc45" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">QString <a class="el" href="struct_info_key_data.html#a224cbd09f2ffc23ea7dc12c8be85cc45">InfoKeyData::name</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Name of the we're storing data for. </p>
+
+</div>
+</div>
+<a class="anchor" id="a08cfc371d93579535850f38bf87fab7b"></a><!-- doxytag: member="InfoKeyData::typeInfo" ref="a08cfc371d93579535850f38bf87fab7b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_context_type_info.html">ContextTypeInfo</a> <a class="el" href="struct_info_key_data.html#a08cfc371d93579535850f38bf87fab7b">InfoKeyData::typeInfo</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Type information of the key. </p>
+
+</div>
+</div>
+<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></li>
+</ul>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:34 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..2412e909
--- /dev/null
+++ b/libcontextsubscriber/doc/html/subscriberinterface_8cpp.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..0091f3c2
--- /dev/null
+++ b/libcontextsubscriber/doc/html/subscriberinterface_8h.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..d3862b30
--- /dev/null
+++ b/libcontextsubscriber/doc/html/subscriberinterface_8h_source.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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#a87e096c9a1ecfb1453d29722731fbb51" 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#ada9126ec7363321f97124a4edc6553ec" 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#a4227c404be7915805dbab93e0704914d" 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#a960dc79d9b47fbbda16e6eed05826c5d">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#a1705fc2b48624313ef52f279ede97e5b">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#a0e99f03c74e942caed4a12013771a4d2">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#aaf5cbaccd8318fd13389b2da11b03e7c">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#a5405b720d8596ab0abbc2ce817a61b14" 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#a20de105eef3bdd1de40708536a7f4238" 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#a87e096c9a1ecfb1453d29722731fbb51" 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#aa9b18edfb5899e8884a1c3c7c7d5caff">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#a913f90d59398e97fbb363c84b0d3c403" 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#a1c7ee2c99941a60bc1a3d43aa794063b">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#a9f726b29f65d7340ac2df345cf462c66">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#a6ebfcf76e474281993e681afb15975c9">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#a6ebfcf76e474281993e681afb15975c9">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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </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..a4441634
--- /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 #MSearchBox
+{
+ 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/timedvalue_8h.html b/libcontextsubscriber/doc/html/timedvalue_8h.html
new file mode 100644
index 00000000..d69e35ab
--- /dev/null
+++ b/libcontextsubscriber/doc/html/timedvalue_8h.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: timedvalue.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>timedvalue.h File Reference</h1><code>#include &lt;time.h&gt;</code><br/>
+<code>#include &lt;QVariant&gt;</code><br/>
+
+<p><a href="timedvalue_8h_source.html">Go to the source code of this file.</a></p>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" 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 colspan="2"><h2>Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" 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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/timedvalue_8h_source.html b/libcontextsubscriber/doc/html/timedvalue_8h_source.html
new file mode 100644
index 00000000..127efdf9
--- /dev/null
+++ b/libcontextsubscriber/doc/html/timedvalue_8h_source.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libcontextsubscriber: timedvalue.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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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>timedvalue.h</h1><a href="timedvalue_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 TIMEDVALUE_H</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define TIMEDVALUE_H</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;time.h&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><a class="code" href="struct_context_subscriber_1_1_timed_value.html">00030</a> <span class="keyword">struct </span><a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a>
+<a name="l00031"></a>00031 {
+<a name="l00032"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">00032</a> quint64 <a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a>;
+<a name="l00033"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">00033</a> QVariant <a class="code" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a>;
+<a name="l00034"></a>00034
+<a name="l00035"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">00035</a> <a class="code" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">TimedValue</a>() : <a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a>(0), <a class="code" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a>(QVariant())
+<a name="l00036"></a>00036 { }
+<a name="l00037"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#ade2f567bc01e0376e34d106acf84c917">00037</a> <a class="code" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">TimedValue</a>(<span class="keyword">const</span> QVariant &amp;<a class="code" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a>, quint64 <a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a>) : time(time), value(value)
+<a name="l00038"></a>00038 { }
+<a name="l00039"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#a37a5bb08705741e6256adc097018dec2">00039</a> <a class="code" href="struct_context_subscriber_1_1_timed_value.html#ad06ff4b451dbf2e11ed41220634e7767">TimedValue</a>(<span class="keyword">const</span> QVariant &amp;<a class="code" href="struct_context_subscriber_1_1_timed_value.html#aec98d0cb5ab101f02685a62fa1e3c6d2">value</a>) : value(value)
+<a name="l00040"></a>00040 {
+<a name="l00041"></a>00041 <span class="keyword">struct </span>timespec t;
+<a name="l00042"></a>00042 clock_gettime(CLOCK_MONOTONIC, &amp;t);
+<a name="l00043"></a>00043 <a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a> = t.tv_sec * Q_UINT64_C(1000000000) + t.tv_nsec;
+<a name="l00044"></a>00044 }
+<a name="l00045"></a><a class="code" href="struct_context_subscriber_1_1_timed_value.html#ae7b3f26190c4ad9e1cdbc0ce81b13e9c">00045</a> <span class="keywordtype">bool</span> <a class="code" href="struct_context_subscriber_1_1_timed_value.html#ae7b3f26190c4ad9e1cdbc0ce81b13e9c">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="struct_context_subscriber_1_1_timed_value.html">TimedValue</a> &amp;other)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047 <span class="keywordflow">return</span> <a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a> &lt; other.<a class="code" href="struct_context_subscriber_1_1_timed_value.html#a9d28305bc4a62034bf874998b8788999">time</a>;
+<a name="l00048"></a>00048 }
+<a name="l00049"></a>00049 };
+<a name="l00050"></a>00050
+<a name="l00051"></a>00051 }
+<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 Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
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..e02cdad1
--- /dev/null
+++ b/libcontextsubscriber/doc/html/update-contextkit-providers_8cpp.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></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 colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="update-contextkit-providers_8cpp.html#ad4e241dfee4e559f0beefd5904c4e117">checkDirectory</a> (const QDir &amp;dir)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="update-contextkit-providers_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ad4e241dfee4e559f0beefd5904c4e117"></a><!-- doxytag: member="update&#45;contextkit&#45;providers.cpp::checkDirectory" ref="ad4e241dfee4e559f0beefd5904c4e117" 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">
+
+</div>
+</div>
+<a class="anchor" id="a3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="update&#45;contextkit&#45;providers.cpp::main" ref="a3c04138a5bfe5d72780bb7e82a18e627" 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">
+
+</div>
+</div>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/doc/html/updatingcontextproviders.html b/libcontextsubscriber/doc/html/updatingcontextproviders.html
new file mode 100644
index 00000000..86a443a0
--- /dev/null
+++ b/libcontextsubscriber/doc/html/updatingcontextproviders.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;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.6.1 -->
+<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">
+<p>The update tool (<code>update-contextkit-providers</code>) is used to regenerate the registry cache database.</p>
+<h2><a class="anchor" id="Overview">
+Overview</a></h2>
+<p>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>
+<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>
+<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.</p>
+<h2><a class="anchor" id="Usage">
+Usage</a></h2>
+<p>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>
+<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>
+<p>Lastly, the <code>"CONTEXT_PROVIDERS"</code> environment variable can be used to specify a directory containing the registry.</p>
+<h2><a class="anchor" id="Implementation">
+Implementation</a></h2>
+<p>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. </p>
+</div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Nov 18 12:52:33 2009 for libcontextsubscriber by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
+</body>
+</html>
diff --git a/libcontextsubscriber/man/Makefile.in b/libcontextsubscriber/man/Makefile.in
new file mode 100644
index 00000000..d48bd5ec
--- /dev/null
+++ b/libcontextsubscriber/man/Makefile.in
@@ -0,0 +1,477 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(dist_man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ { for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ test -z "$$files" || { \
+ echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @list='$(MANS)'; if test -n "$$list"; then \
+ list=`for p in $$list; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+ if test -n "$$list" && \
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
+ exit 1; \
+ else :; fi; \
+ else :; fi
+ @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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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/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..2d050e95
--- /dev/null
+++ b/libcontextsubscriber/propertymonitor/Makefile.in
@@ -0,0 +1,403 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 --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 = @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 = tests.xml has_value.py has_provider.py tests.xsl
+MAINTAINERCLEANFILES = tests.xml
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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 all-local 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
+
+
+all-local: tests.xml
+
+# Generating tests.xml
+tests.xml: $(top_srcdir)/spec/core.context tests.xsl
+ $(XSLTPROC) $(srcdir)/tests.xsl $< >$@
+
+# 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/tests.xml b/libcontextsubscriber/propertymonitor/tests.xml
new file mode 100644
index 00000000..354cae41
--- /dev/null
+++ b/libcontextsubscriber/propertymonitor/tests.xml
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testdefinition xmlns:prov="http://contextkit.freedesktop.org/Provider" version="0.1">
+ <suite name="contextfw-property-monitor">
+ <set name="core" description="core properties">
+ <pre_steps>
+ <step expected_result="0">/usr/share/propertymonitor-tests/waitforsilence</step>
+ </pre_steps>
+ <case requirement="" timeout="20" name="Screen.TopEdge-provider" description="Provider for Screen.TopEdge">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Screen.TopEdge</step>
+ </case>
+ <case requirement="" timeout="20" name="Screen.TopEdge-value" description="Value for Screen.TopEdge">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Screen.TopEdge</step>
+ </case>
+ <case requirement="" timeout="20" name="Screen.IsCovered-provider" description="Provider for Screen.IsCovered">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Screen.IsCovered</step>
+ </case>
+ <case requirement="" timeout="20" name="Screen.IsCovered-value" description="Value for Screen.IsCovered">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Screen.IsCovered</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.CurrentSource-provider" description="Provider for Location.CurrentSource">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.CurrentSource</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.CurrentSource-value" description="Value for Location.CurrentSource">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.CurrentSource</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.ActiveSources-provider" description="Provider for Location.ActiveSources">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.ActiveSources</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.ActiveSources-value" description="Value for Location.ActiveSources">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.ActiveSources</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Coordinates-provider" description="Provider for Location.Coordinates">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Coordinates</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Coordinates-value" description="Value for Location.Coordinates">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Coordinates</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Street-provider" description="Provider for Location.Street">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Street</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Street-value" description="Value for Location.Street">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Street</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.PostalCode-provider" description="Provider for Location.PostalCode">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.PostalCode</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.PostalCode-value" description="Value for Location.PostalCode">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.PostalCode</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Area-provider" description="Provider for Location.Area">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Area</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Area-value" description="Value for Location.Area">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Area</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Locality-provider" description="Provider for Location.Locality">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Locality</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Locality-value" description="Value for Location.Locality">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Locality</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Region-provider" description="Provider for Location.Region">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Region</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Region-value" description="Value for Location.Region">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Region</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Country-provider" description="Provider for Location.Country">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Country</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Country-value" description="Value for Location.Country">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Country</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.CountryCode-provider" description="Provider for Location.CountryCode">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.CountryCode</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.CountryCode-value" description="Value for Location.CountryCode">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.CountryCode</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Timezone-provider" description="Provider for Location.Timezone">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Timezone</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Timezone-value" description="Value for Location.Timezone">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Timezone</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.TimezoneOffset-provider" description="Provider for Location.TimezoneOffset">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.TimezoneOffset</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.TimezoneOffset-value" description="Value for Location.TimezoneOffset">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.TimezoneOffset</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Continent-provider" description="Provider for Location.Continent">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Continent</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Continent-value" description="Value for Location.Continent">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Continent</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Planet-provider" description="Provider for Location.Planet">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.Planet</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.Planet-value" description="Value for Location.Planet">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.Planet</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.PointOfInterest-provider" description="Provider for Location.PointOfInterest">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.PointOfInterest</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.PointOfInterest-value" description="Value for Location.PointOfInterest">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.PointOfInterest</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.NearbyContacts-provider" description="Provider for Location.NearbyContacts">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Location.NearbyContacts</step>
+ </case>
+ <case requirement="" timeout="20" name="Location.NearbyContacts-value" description="Value for Location.NearbyContacts">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Location.NearbyContacts</step>
+ </case>
+ <case requirement="" timeout="20" name="Position.Stable-provider" description="Provider for Position.Stable">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Position.Stable</step>
+ </case>
+ <case requirement="" timeout="20" name="Position.Stable-value" description="Value for Position.Stable">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Position.Stable</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.ChargePercentage-provider" description="Provider for Battery.ChargePercentage">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Battery.ChargePercentage</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.ChargePercentage-value" description="Value for Battery.ChargePercentage">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Battery.ChargePercentage</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.OnBattery-provider" description="Provider for Battery.OnBattery">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Battery.OnBattery</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.OnBattery-value" description="Value for Battery.OnBattery">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Battery.OnBattery</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.LowBattery-provider" description="Provider for Battery.LowBattery">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Battery.LowBattery</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.LowBattery-value" description="Value for Battery.LowBattery">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Battery.LowBattery</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.IsCharging-provider" description="Provider for Battery.IsCharging">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Battery.IsCharging</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.IsCharging-value" description="Value for Battery.IsCharging">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Battery.IsCharging</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.TimeUntilLow-provider" description="Provider for Battery.TimeUntilLow">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Battery.TimeUntilLow</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.TimeUntilLow-value" description="Value for Battery.TimeUntilLow">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Battery.TimeUntilLow</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.TimeUntilFull-provider" description="Provider for Battery.TimeUntilFull">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Battery.TimeUntilFull</step>
+ </case>
+ <case requirement="" timeout="20" name="Battery.TimeUntilFull-value" description="Value for Battery.TimeUntilFull">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Battery.TimeUntilFull</step>
+ </case>
+ <case requirement="" timeout="20" name="System.MemoryPressure-provider" description="Provider for System.MemoryPressure">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py System.MemoryPressure</step>
+ </case>
+ <case requirement="" timeout="20" name="System.MemoryPressure-value" description="Value for System.MemoryPressure">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py System.MemoryPressure</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.NetworkType-provider" description="Provider for Internet.NetworkType">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Internet.NetworkType</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.NetworkType-value" description="Value for Internet.NetworkType">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Internet.NetworkType</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.NetworkName-provider" description="Provider for Internet.NetworkName">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Internet.NetworkName</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.NetworkName-value" description="Value for Internet.NetworkName">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Internet.NetworkName</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.NetworkState-provider" description="Provider for Internet.NetworkState">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Internet.NetworkState</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.NetworkState-value" description="Value for Internet.NetworkState">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Internet.NetworkState</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.SignalStrength-provider" description="Provider for Internet.SignalStrength">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Internet.SignalStrength</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.SignalStrength-value" description="Value for Internet.SignalStrength">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Internet.SignalStrength</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.TrafficOut-provider" description="Provider for Internet.TrafficOut">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Internet.TrafficOut</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.TrafficOut-value" description="Value for Internet.TrafficOut">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Internet.TrafficOut</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.TrafficIn-provider" description="Provider for Internet.TrafficIn">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Internet.TrafficIn</step>
+ </case>
+ <case requirement="" timeout="20" name="Internet.TrafficIn-value" description="Value for Internet.TrafficIn">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Internet.TrafficIn</step>
+ </case>
+ <case requirement="" timeout="20" name="Bluetooth.Enabled-provider" description="Provider for Bluetooth.Enabled">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Bluetooth.Enabled</step>
+ </case>
+ <case requirement="" timeout="20" name="Bluetooth.Enabled-value" description="Value for Bluetooth.Enabled">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Bluetooth.Enabled</step>
+ </case>
+ <case requirement="" timeout="20" name="Bluetooth.Visible-provider" description="Provider for Bluetooth.Visible">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Bluetooth.Visible</step>
+ </case>
+ <case requirement="" timeout="20" name="Bluetooth.Visible-value" description="Value for Bluetooth.Visible">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Bluetooth.Visible</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.NetworkName-provider" description="Provider for Cellular.NetworkName">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Cellular.NetworkName</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.NetworkName-value" description="Value for Cellular.NetworkName">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Cellular.NetworkName</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.SignalStrength-provider" description="Provider for Cellular.SignalStrength">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Cellular.SignalStrength</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.SignalStrength-value" description="Value for Cellular.SignalStrength">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Cellular.SignalStrength</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.Technology-provider" description="Provider for Cellular.Technology">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Cellular.Technology</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.Technology-value" description="Value for Cellular.Technology">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Cellular.Technology</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.DataTechnology-provider" description="Provider for Cellular.DataTechnology">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Cellular.DataTechnology</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.DataTechnology-value" description="Value for Cellular.DataTechnology">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Cellular.DataTechnology</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.RegistrationStatus-provider" description="Provider for Cellular.RegistrationStatus">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Cellular.RegistrationStatus</step>
+ </case>
+ <case requirement="" timeout="20" name="Cellular.RegistrationStatus-value" description="Value for Cellular.RegistrationStatus">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Cellular.RegistrationStatus</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.Present-provider" description="Provider for UserAlarm.Present">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py UserAlarm.Present</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.Present-value" description="Value for UserAlarm.Present">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py UserAlarm.Present</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.Enabled-provider" description="Provider for UserAlarm.Enabled">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py UserAlarm.Enabled</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.Enabled-value" description="Value for UserAlarm.Enabled">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py UserAlarm.Enabled</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.NextTime-provider" description="Provider for UserAlarm.NextTime">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py UserAlarm.NextTime</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.NextTime-value" description="Value for UserAlarm.NextTime">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py UserAlarm.NextTime</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.NextDescription-provider" description="Provider for UserAlarm.NextDescription">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py UserAlarm.NextDescription</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.NextDescription-value" description="Value for UserAlarm.NextDescription">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py UserAlarm.NextDescription</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.NextCookie-provider" description="Provider for UserAlarm.NextCookie">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py UserAlarm.NextCookie</step>
+ </case>
+ <case requirement="" timeout="20" name="UserAlarm.NextCookie-value" description="Value for UserAlarm.NextCookie">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py UserAlarm.NextCookie</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.SunRise-provider" description="Provider for Environment.SunRise">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Environment.SunRise</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.SunRise-value" description="Value for Environment.SunRise">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Environment.SunRise</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.SunSet-provider" description="Provider for Environment.SunSet">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Environment.SunSet</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.SunSet-value" description="Value for Environment.SunSet">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Environment.SunSet</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.Weather-provider" description="Provider for Environment.Weather">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Environment.Weather</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.Weather-value" description="Value for Environment.Weather">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Environment.Weather</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.IsDark-provider" description="Provider for Environment.IsDark">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Environment.IsDark</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.IsDark-value" description="Value for Environment.IsDark">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Environment.IsDark</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.IsBright-provider" description="Provider for Environment.IsBright">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Environment.IsBright</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.IsBright-value" description="Value for Environment.IsBright">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Environment.IsBright</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.IsLoud-provider" description="Provider for Environment.IsLoud">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Environment.IsLoud</step>
+ </case>
+ <case requirement="" timeout="20" name="Environment.IsLoud-value" description="Value for Environment.IsLoud">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Environment.IsLoud</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Situations-provider" description="Provider for Use.Situations">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Use.Situations</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Situations-value" description="Value for Use.Situations">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Use.Situations</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Mode-provider" description="Provider for Use.Mode">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Use.Mode</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Mode-value" description="Value for Use.Mode">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Use.Mode</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.ConnectedContacts-provider" description="Provider for Use.ConnectedContacts">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Use.ConnectedContacts</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.ConnectedContacts-value" description="Value for Use.ConnectedContacts">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Use.ConnectedContacts</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.RecentDocuments-provider" description="Provider for Use.RecentDocuments">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Use.RecentDocuments</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.RecentDocuments-value" description="Value for Use.RecentDocuments">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Use.RecentDocuments</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Keyboarding-provider" description="Provider for Use.Keyboarding">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Use.Keyboarding</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Keyboarding-value" description="Value for Use.Keyboarding">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Use.Keyboarding</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Phoning-provider" description="Provider for Use.Phoning">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Use.Phoning</step>
+ </case>
+ <case requirement="" timeout="20" name="Use.Phoning-value" description="Value for Use.Phoning">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Use.Phoning</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.Current-provider" description="Provider for Event.Current">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Event.Current</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.Current-value" description="Value for Event.Current">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Event.Current</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.CurrentStart-provider" description="Provider for Event.CurrentStart">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Event.CurrentStart</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.CurrentStart-value" description="Value for Event.CurrentStart">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Event.CurrentStart</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.CurrentEnd-provider" description="Provider for Event.CurrentEnd">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Event.CurrentEnd</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.CurrentEnd-value" description="Value for Event.CurrentEnd">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Event.CurrentEnd</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.Next-provider" description="Provider for Event.Next">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Event.Next</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.Next-value" description="Value for Event.Next">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Event.Next</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.NextStart-provider" description="Provider for Event.NextStart">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Event.NextStart</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.NextStart-value" description="Value for Event.NextStart">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Event.NextStart</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.NextEnd-provider" description="Provider for Event.NextEnd">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Event.NextEnd</step>
+ </case>
+ <case requirement="" timeout="20" name="Event.NextEnd-value" description="Value for Event.NextEnd">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Event.NextEnd</step>
+ </case>
+ <case requirement="" timeout="20" name="Profile.Name-provider" description="Provider for Profile.Name">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Profile.Name</step>
+ </case>
+ <case requirement="" timeout="20" name="Profile.Name-value" description="Value for Profile.Name">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Profile.Name</step>
+ </case>
+ <case requirement="" timeout="20" name="Session.State-provider" description="Provider for Session.State">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Session.State</step>
+ </case>
+ <case requirement="" timeout="20" name="Session.State-value" description="Value for Session.State">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Session.State</step>
+ </case>
+ <case requirement="" timeout="20" name="Media.NowPlaying-provider" description="Provider for Media.NowPlaying">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_provider.py Media.NowPlaying</step>
+ </case>
+ <case requirement="" timeout="20" name="Media.NowPlaying-value" description="Value for Media.NowPlaying">
+ <step expected_result="0">. /tmp/session_bus_address.user;cd /usr/share/propertymonitor-tests;python /usr/share/propertymonitor-tests/has_value.py Media.NowPlaying</step>
+ </case>
+ <environments>
+ <scratchbox>false</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ <get>
+ <file>/tmp/xyzzy.log</file>
+ </get>
+ </set>
+ </suite>
+</testdefinition>
diff --git a/libcontextsubscriber/src/Makefile.in b/libcontextsubscriber/src/Makefile.in
new file mode 100644
index 00000000..5bcb0800
--- /dev/null
+++ b/libcontextsubscriber/src/Makefile.in
@@ -0,0 +1,695 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(includecontextsubscriberdir)"
+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 \
+ contexttypeinfo.lo contexttyperegistryinfo.lo assoctree.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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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)
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 timedvalue.h contexttypeinfo.cpp \
+ contexttypeinfo.h contexttyperegistryinfo.cpp \
+ contexttyperegistryinfo.h assoctree.h assoctree.cpp
+
+includecontextsubscriberdir = $(includedir)/contextsubscriber
+includecontextsubscriber_HEADERS = contextproperty.h \
+ contextpropertyinfo.h contextregistryinfo.h iproviderplugin.h \
+ contextproviderinfo.h asyncdbusinterface.h timedvalue.h \
+ contexttypeinfo.h contexttypeinfo.cpp \
+ contexttyperegistryinfo.h assoctree.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"' \
+ '-DDEFAULT_CONTEXT_TYPES="@datadir@/contextkit/types/"' \
+ '-DDEFAULT_CONTEXT_CORE_TYPES="@datadir@/contextkit/types/core.types"' \
+ '-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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ 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)/assoctree.Plo@am__quote@
+@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)/contexttypeinfo.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttyperegistryinfo.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)'; test -n "$(includecontextsubscriberdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includecontextsubscriberdir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includecontextsubscriberdir)" || exit $$?; \
+ done
+
+uninstall-includecontextsubscriberHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(includecontextsubscriber_HEADERS)'; test -n "$(includecontextsubscriberdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(includecontextsubscriberdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(includecontextsubscriberdir)" && rm -f $$files
+
+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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includecontextsubscriberHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: FORCE
+
+# 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..f27e4f76
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/Makefile.in
@@ -0,0 +1,643 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 \
+ assoctree \
+ contexttypeinfo \
+ contexttyperegistryinfo
+
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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; \
+ ($(am__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; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__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)
+ set x; \
+ 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 || \
+ set "$$@" "$$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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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) ctags-recursive \
+ install-am install-strip tags-recursive
+
+.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/assoctree/.gitignore b/libcontextsubscriber/unit-tests/assoctree/.gitignore
deleted file mode 100644
index e4505e96..00000000
--- a/libcontextsubscriber/unit-tests/assoctree/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-assoctree.cpp
-assoctree.h
-loggingfeatures.h
-assoctreeunittest
diff --git a/libcontextsubscriber/unit-tests/assoctree/Makefile.in b/libcontextsubscriber/unit-tests/assoctree/Makefile.in
new file mode 100644
index 00000000..691ac5f6
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/assoctree/Makefile.in
@@ -0,0 +1,738 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = assoctreeunittest$(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/assoctree
+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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = assoctree.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_assoctreeunittest_OBJECTS = assoctreeunittest.$(OBJEXT)
+nodist_assoctreeunittest_OBJECTS = mocs.$(OBJEXT)
+assoctreeunittest_OBJECTS = $(am_assoctreeunittest_OBJECTS) \
+ $(nodist_assoctreeunittest_OBJECTS)
+assoctreeunittest_LDADD = $(LDADD)
+assoctreeunittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(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)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) $(assoctreeunittest_SOURCES) \
+ $(nodist_assoctreeunittest_SOURCES)
+DIST_SOURCES = $(assoctreeunittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+assoctreeunittest_SOURCES = assoctreeunittest.cpp
+COVERAGE_FILES = assoctree.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 = $(QtXml_CFLAGS) -I$(srcdir)/../util/ $(QtTest_CFLAGS) \
+ $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = assoctree.cpp assoctree.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_assoctreeunittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(assoctreeunittest_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/assoctree/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/assoctree/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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+assoctreeunittest$(EXEEXT): $(assoctreeunittest_OBJECTS) $(assoctreeunittest_DEPENDENCIES)
+ @rm -f assoctreeunittest$(EXEEXT)
+ $(CXXLINK) $(assoctreeunittest_OBJECTS) $(assoctreeunittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assoctree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assoctreeunittest.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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
+assoctreeunittest.o: assoctreeunittest.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/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..255eb445
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/cdb/Makefile.in
@@ -0,0 +1,738 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 8ae44864..00000000
--- a/libcontextsubscriber/unit-tests/contextpropertyinfo/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-contexttypeinfo.cpp
-contexttypeinfo.h
-nanotree.h
-nanotree.cpp
-contextpropertyinfo.cpp
-contextpropertyinfo.h
-contextpropertyinfounittest
-loggingfeatures.h
-contextproviderinfo.h
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in b/libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in
new file mode 100644
index 00000000..7d03a4c7
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/contextpropertyinfo/Makefile.in
@@ -0,0 +1,753 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = contextpropertyinfo.$(OBJEXT) \
+ contexttypeinfo.$(OBJEXT) assoctree.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 contexttyperegistryinfo.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 \
+ contexttypeinfo.h \
+ contexttypeinfo.cpp \
+ assoctree.cpp \
+ assoctree.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/assoctree.Po@am__quote@
+@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)/contexttypeinfo.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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..83af9276
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/contextregistryinfo/Makefile.in
@@ -0,0 +1,746 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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/contexttypeinfo/.gitignore b/libcontextsubscriber/unit-tests/contexttypeinfo/.gitignore
deleted file mode 100644
index af1d9aa6..00000000
--- a/libcontextsubscriber/unit-tests/contexttypeinfo/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-contexttypeinfo.cpp
-contexttypeinfo.h
-contexttypeinfounittest
-loggingfeatures.h
-nanotree.cpp
-nanotree.h
-nanoxml.cpp
-nanoxml.h
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/contexttypeinfo/Makefile.in b/libcontextsubscriber/unit-tests/contexttypeinfo/Makefile.in
new file mode 100644
index 00000000..137e74a1
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/contexttypeinfo/Makefile.in
@@ -0,0 +1,744 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = contexttypeinfounittest$(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/contexttypeinfo
+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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = contexttypeinfo.$(OBJEXT) assoctree.$(OBJEXT) \
+ nanoxml.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_contexttypeinfounittest_OBJECTS = \
+ contexttypeinfounittest.$(OBJEXT)
+nodist_contexttypeinfounittest_OBJECTS = mocs.$(OBJEXT)
+contexttypeinfounittest_OBJECTS = \
+ $(am_contexttypeinfounittest_OBJECTS) \
+ $(nodist_contexttypeinfounittest_OBJECTS)
+contexttypeinfounittest_LDADD = $(LDADD)
+contexttypeinfounittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(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)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) \
+ $(contexttypeinfounittest_SOURCES) \
+ $(nodist_contexttypeinfounittest_SOURCES)
+DIST_SOURCES = $(contexttypeinfounittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+contexttypeinfounittest_SOURCES = contexttypeinfounittest.cpp contexttyperegistryinfo.h
+COVERAGE_FILES = contexttypeinfo.cpp
+EXTRA_DIST = double.xml custom-double.xml uniform-list.xml person.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 = contexttypeinfo.cpp contexttypeinfo.h assoctree.cpp assoctree.h 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_contexttypeinfounittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contexttypeinfounittest_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/contexttypeinfo/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/contexttypeinfo/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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+contexttypeinfounittest$(EXEEXT): $(contexttypeinfounittest_OBJECTS) $(contexttypeinfounittest_DEPENDENCIES)
+ @rm -f contexttypeinfounittest$(EXEEXT)
+ $(CXXLINK) $(contexttypeinfounittest_OBJECTS) $(contexttypeinfounittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assoctree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttypeinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttypeinfounittest.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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
+contexttypeinfounittest.o: contexttypeinfounittest.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/contexttyperegistryinfo/.gitignore b/libcontextsubscriber/unit-tests/contexttyperegistryinfo/.gitignore
deleted file mode 100644
index 18b11e66..00000000
--- a/libcontextsubscriber/unit-tests/contexttyperegistryinfo/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-contexttyperegistryinfo.cpp
-contexttyperegistryinfo.h
-contexttyperegistryinfounittest
-loggingfeatures.h
-nanotree.cpp
-nanotree.h
-nanoxml.cpp
-nanoxml.h
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/contexttyperegistryinfo/Makefile.in b/libcontextsubscriber/unit-tests/contexttyperegistryinfo/Makefile.in
new file mode 100644
index 00000000..b56be067
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/contexttyperegistryinfo/Makefile.in
@@ -0,0 +1,754 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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 = contexttyperegistryinfounittest$(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/contexttyperegistryinfo
+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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = contexttyperegistryinfo.$(OBJEXT) assoctree.$(OBJEXT) \
+ nanoxml.$(OBJEXT)
+nodist_libsrc_a_OBJECTS = $(am__objects_1)
+libsrc_a_OBJECTS = $(nodist_libsrc_a_OBJECTS)
+am_contexttyperegistryinfounittest_OBJECTS = \
+ contexttyperegistryinfounittest.$(OBJEXT)
+nodist_contexttyperegistryinfounittest_OBJECTS = mocs.$(OBJEXT)
+contexttyperegistryinfounittest_OBJECTS = \
+ $(am_contexttyperegistryinfounittest_OBJECTS) \
+ $(nodist_contexttyperegistryinfounittest_OBJECTS)
+contexttyperegistryinfounittest_LDADD = $(LDADD)
+contexttyperegistryinfounittest_DEPENDENCIES = $(check_LIBRARIES) \
+ $(top_builddir)/common/libcommon.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(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)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(nodist_libsrc_a_SOURCES) \
+ $(contexttyperegistryinfounittest_SOURCES) \
+ $(nodist_contexttyperegistryinfounittest_SOURCES)
+DIST_SOURCES = $(contexttyperegistryinfounittest_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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
+contexttyperegistryinfounittest_SOURCES = contexttyperegistryinfounittest.cpp
+COVERAGE_FILES = contexttyperegistryinfo.cpp
+EXTRA_DIST = core.types.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"' \
+ '-DDEFAULT_CONTEXT_TYPES="@datadir@/contextkit/types/"' \
+ '-DDEFAULT_CONTEXT_CORE_TYPES="@datadir@/contextkit/core.types"' \
+ $(QtTest_CFLAGS) $(COV_CXXFLAGS) -I$(top_srcdir)/common
+AM_LDFLAGS = $(CDB_LIBS) $(QtXml_LIBS) $(QtTest_LIBS) $(COV_LIBS)
+FROM_SOURCE = contexttyperegistryinfo.cpp \
+ contexttyperegistryinfo.h \
+ loggingfeatures.h \
+ assoctree.h \
+ assoctree.cpp \
+ nanoxml.h \
+ nanoxml.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_contexttyperegistryinfounittest_SOURCES = mocs.cpp
+QT_TOMOC = $(filter %.h, $(contexttyperegistryinfounittest_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/contexttyperegistryinfo/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign libcontextsubscriber/unit-tests/contexttyperegistryinfo/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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+contexttyperegistryinfounittest$(EXEEXT): $(contexttyperegistryinfounittest_OBJECTS) $(contexttyperegistryinfounittest_DEPENDENCIES)
+ @rm -f contexttyperegistryinfounittest$(EXEEXT)
+ $(CXXLINK) $(contexttyperegistryinfounittest_OBJECTS) $(contexttyperegistryinfounittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assoctree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttyperegistryinfo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttyperegistryinfounittest.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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
+
+contexttyperegistryinfounittest.o: contexttyperegistryinfounittest.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..1fe6618c
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/handlesignalrouter/Makefile.in
@@ -0,0 +1,742 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 c938af70..00000000
--- a/libcontextsubscriber/unit-tests/infobackend/.gitignore
+++ /dev/null
@@ -1,25 +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
-contexttypeinfo.cpp
-contexttypeinfo.h
-nanotree.cpp
-nanotree.h
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/infobackend/Makefile.in b/libcontextsubscriber/unit-tests/infobackend/Makefile.in
new file mode 100644
index 00000000..349d59da
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/infobackend/Makefile.in
@@ -0,0 +1,763 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = infobackend.$(OBJEXT) infoxmlbackend.$(OBJEXT) \
+ cdbreader.$(OBJEXT) infocdbbackend.$(OBJEXT) nanoxml.$(OBJEXT) \
+ contexttypeinfo.$(OBJEXT) assoctree.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 contexttyperegistryinfo.h
+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 \
+ contexttypeinfo.h \
+ contexttypeinfo.cpp \
+ assoctree.cpp \
+ assoctree.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/assoctree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttypeinfo.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 3f638e33..00000000
--- a/libcontextsubscriber/unit-tests/infocdbbackend/.gitignore
+++ /dev/null
@@ -1,28 +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
-contexttypeinfo.h
-contexttypeinfo.cpp
-nanotree.h
-nanotree.cpp
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in b/libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in
new file mode 100644
index 00000000..6c32bae4
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/infocdbbackend/Makefile.in
@@ -0,0 +1,768 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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) assoctree.$(OBJEXT) \
+ contexttypeinfo.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 contexttyperegistryinfo.h
+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"' \
+ '-DDEFAULT_CONTEXT_TYPES="@datadir@/contextkit/types/"' \
+ '-DDEFAULT_CONTEXT_CORE_TYPES="@datadir@/contextkit/core.types"' \
+ $(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 \
+ assoctree.h \
+ assoctree.cpp \
+ contexttypeinfo.h \
+ contexttypeinfo.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_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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/assoctree.Po@am__quote@
+@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)/contexttypeinfo.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 3d0436f3..00000000
--- a/libcontextsubscriber/unit-tests/infoxmlbackend/.gitignore
+++ /dev/null
@@ -1,25 +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
-nanotree.cpp
-nanotree.h
-contexttypeinfo.h
-contexttypeinfo.cpp
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in b/libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in
new file mode 100644
index 00000000..c0b4504d
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/infoxmlbackend/Makefile.in
@@ -0,0 +1,765 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = infobackend.$(OBJEXT) infoxmlbackend.$(OBJEXT) \
+ cdbreader.$(OBJEXT) infocdbbackend.$(OBJEXT) nanoxml.$(OBJEXT) \
+ contexttypeinfo.$(OBJEXT) assoctree.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 contexttyperegistryinfo.h
+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"' \
+ '-DDEFAULT_CONTEXT_TYPES="@datadir@/contextkit/types/"' \
+ '-DDEFAULT_CONTEXT_CORE_TYPES="@datadir@/contextkit/core.types"' \
+ $(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 \
+ contexttypeinfo.h \
+ contexttypeinfo.cpp \
+ assoctree.h \
+ assoctree.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_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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/assoctree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdbreader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/contexttypeinfo.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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 af1cd0e8..00000000
--- a/libcontextsubscriber/unit-tests/nanoxml/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-loggingfeatures.h
-nanoxml.cpp
-nanoxml.h
-nanoxmlunittest
-nanotree.cpp
-nanotree.h
-assoctree.cpp
-assoctree.h
diff --git a/libcontextsubscriber/unit-tests/nanoxml/Makefile.in b/libcontextsubscriber/unit-tests/nanoxml/Makefile.in
new file mode 100644
index 00000000..4bfb48d1
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/nanoxml/Makefile.in
@@ -0,0 +1,739 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+ARFLAGS = cru
+libsrc_a_AR = $(AR) $(ARFLAGS)
+libsrc_a_LIBADD =
+am__objects_1 = nanoxml.$(OBJEXT) assoctree.$(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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 test5.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 assoctree.cpp assoctree.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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)/assoctree.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@
+@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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 e59a3396..00000000
--- a/libcontextsubscriber/unit-tests/propertyhandle/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-propertyhandle.cpp
-propertyhandle.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
-contextproviderinfo.h
-timedvalue.h
-
diff --git a/libcontextsubscriber/unit-tests/propertyhandle/Makefile.in b/libcontextsubscriber/unit-tests/propertyhandle/Makefile.in
new file mode 100644
index 00000000..2e763d52
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/propertyhandle/Makefile.in
@@ -0,0 +1,745 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 timedvalue.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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 b9ab0625..00000000
--- a/libcontextsubscriber/unit-tests/provider/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-contextproviderinfo.h
-iproviderplugin.h
-provider.cpp
-provider.h
-sconnect.h
-logging.cpp
-logging.h
-loggingfeatures.h
-timedvalue.h
diff --git a/libcontextsubscriber/unit-tests/provider/Makefile.in b/libcontextsubscriber/unit-tests/provider/Makefile.in
new file mode 100644
index 00000000..070847a4
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/provider/Makefile.in
@@ -0,0 +1,742 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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
+am__mv = mv -f
+CXXCOMPILE = $(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)
+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
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 timedvalue.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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) '; \
+ $(am__tty_colors); \
+ 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`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ 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`; \
+ if test "$$failed" -eq 0; then \
+ echo "$$grn$$dashes"; \
+ else \
+ echo "$$red$$dashes"; \
+ fi; \
+ echo "$$banner"; \
+ test -z "$$skipped" || echo "$$skipped"; \
+ test -z "$$report" || echo "$$report"; \
+ echo "$$dashes$$std"; \
+ 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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: all check check-am install 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: FORCE
+ $(MAKE) -C $(top_builddir)/common libcommon.la
+
+.PHONY: coverage covdircheck FORCE
+@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..6789400d
--- /dev/null
+++ b/libcontextsubscriber/unit-tests/util/Makefile.in
@@ -0,0 +1,394 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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..7a917c6a
--- /dev/null
+++ b/libcontextsubscriber/update-contextkit-providers/Makefile.in
@@ -0,0 +1,565 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+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
+am__mv = mv -f
+CXXCOMPILE = $(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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+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@ $(am__mv) $(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@ $(am__mv) $(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@ $(am__mv) $(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)
+ set x; \
+ 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; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ 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)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: FORCE
+ $(MAKE) -C ../src libcontextsubscriber.la
+.PHONY: FORCE
+
+# 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/ltmain.sh b/ltmain.sh
new file mode 100755
index 00000000..b7224c7d
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,8428 @@
+# 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-4
+# 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-4"
+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"
+ 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
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ 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
+ path=
+ 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/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..1e7ea47c
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7376 @@
+# 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
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_TAGVAR(link_all_deplibs, $1)=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/missing b/missing
new file mode 100755
index 00000000..28055d2a
--- /dev/null
+++ b/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 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, see <http://www.gnu.org/licenses/>.
+
+# 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]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+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
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# 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). This is about non-GNU programs, so use $1 not
+# $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 $program 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 $?
+ 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-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/py-compile b/py-compile
new file mode 100755
index 00000000..3f9d05b6
--- /dev/null
+++ b/py-compile
@@ -0,0 +1,146 @@
+#!/bin/sh
+# py-compile - Compile a Python program
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 2000, 2001, 2003, 2004, 2005, 2008, 2009 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, see <http://www.gnu.org/licenses/>.
+
+# 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, py_compile
+
+files = '''$files'''
+
+sys.stdout.write('Byte-compiling python modules...\n')
+for file in files.split():
+ $pathtrans
+ $filetrans
+ if not os.path.exists(filepath) or not (len(filepath) >= 3
+ and filepath[-3:] == '.py'):
+ continue
+ sys.stdout.write(file)
+ sys.stdout.flush()
+ py_compile.compile(filepath, filepath + 'c', path)
+sys.stdout.write('\n')" || exit $?
+
+# this will fail for python < 1.5, but that doesn't matter ...
+$PYTHON -O -c "
+import sys, os, py_compile
+
+files = '''$files'''
+sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n')
+for file in files.split():
+ $pathtrans
+ $filetrans
+ if not os.path.exists(filepath) or not (len(filepath) >= 3
+ and filepath[-3:] == '.py'):
+ continue
+ sys.stdout.write(file)
+ sys.stdout.flush()
+ py_compile.compile(filepath, filepath + 'o', path)
+sys.stdout.write('\n')" 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-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/python/Makefile.in b/python/Makefile.in
new file mode 100644
index 00000000..c4129a2e
--- /dev/null
+++ b/python/Makefile.in
@@ -0,0 +1,503 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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) $(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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgpythondir)"
+SCRIPTS = $(dist_bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+py_compile = $(top_srcdir)/py-compile
+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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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_bin_SCRIPTS = 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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+install-dist_binSCRIPTS: $(dist_bin_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n' \
+ -e 'h;s|.*|.|' \
+ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+ if (++n[d] == $(am__install_max)) { \
+ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+ else { print "f", d "/" $$4, $$1 } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-dist_binSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 's,.*/,,;$(transform)'`; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+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=; list2=; test -n "$(pkgpythondir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
+ if test -f $$b$$p; then \
+ $(am__strip_dir) \
+ dlist="$$dlist $$f"; \
+ list2="$$list2 $$b$$p"; \
+ else :; fi; \
+ done; \
+ for file in $$list2; do echo $$file; done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgpythondir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgpythondir)" || exit $$?; \
+ done || exit $$?; \
+ 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)'; test -n "$(pkgpythondir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ filesc=`echo "$$files" | sed 's|$$|c|'`; \
+ fileso=`echo "$$files" | sed 's|$$|o|'`; \
+ echo " ( cd '$(DESTDIR)$(pkgpythondir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(pkgpythondir)" && rm -f $$files || exit $$?; \
+ echo " ( cd '$(DESTDIR)$(pkgpythondir)' && rm -f" $$filesc ")"; \
+ cd "$(DESTDIR)$(pkgpythondir)" && rm -f $$filesc || exit $$?; \
+ echo " ( cd '$(DESTDIR)$(pkgpythondir)' && rm -f" $$fileso ")"; \
+ cd "$(DESTDIR)$(pkgpythondir)" && rm -f $$fileso
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgpythondir)"; 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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgpythonPYTHON
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-dist_binSCRIPTS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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-pkgpythonPYTHON
+
+.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-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-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/sandbox/context-proxy b/sandbox/context-proxy
deleted file mode 100755
index 2b6a366b..00000000
--- a/sandbox/context-proxy
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/usr/bin/python
-
-from sys import stderr, stdin
-from subprocess import Popen, PIPE
-from select import select
-import re
-import os
-
-class Program:
- def __init__(self, cline):
- d = dict(os.environ)
- d.update({"CONTEXT_CLI_DISABLE_TYPE_CHECK": "1",
- "CONTEXT_CLI_IGNORE_COMMANDER": "1"})
-
- self.__process = Popen(cline, stdin=PIPE, stdout=PIPE, stderr=PIPE,
- env = d)
-
- def send(self, string):
- print >>self.__process.stdin, string
- self.__process.stdin.flush()
-
- def outfd(self):
- return self.__process.stdout.fileno()
-
- def readline(self):
- return self.__process.stdout.readline()
-
- def ready(self):
- raise NotImplementedError
-
-class Listen(Program):
- def __init__(self, *properties):
- Program.__init__(self, ["context-listen"] + list(properties))
-
- def ready(self):
- global provide
- line = self.readline()
- if line:
- print >>stderr, "LISTEN:", line,
- match = re.match("(.*?) = (.*?):(.*)\n", line)
- if match:
- property = match.group(1)
- type = ""
- if match.group(2) == "QString":
- type = "string"
- elif match.group(2) == "int":
- type = "int"
- elif match.group(2) == "bool":
- type = "truth"
- elif match.group(2) == "double":
- type = "double"
- else:
- raise RuntimeError("unknown type from client: " + match.group(2))
- value = match.group(3)
- provide.send("add " + type + " " + property + " " + value)
- match = re.match("(.*?) is Unknown\n", line)
- if match:
- property = match.group(1)
- provide.send("add " + type + " " + property)
- provide.send("unset " + property)
-
- return True
- else:
- raise RuntimeError("context-listen terminated")
-
-class Provide(Program):
- def __init__(self):
- Program.__init__(self, ["context-provide-internal"])
-
- def ready(self):
- line = self.readline()
- if line:
- print "PROVIDE:", line,
- return True
- else:
- raise RuntimeError("context-provide terminated")
-
-class UserInput():
- def outfd(self):
- return stdin.fileno()
-
- def ready(self):
- line = self.readline()
- if line:
- match = re.match("(.*?) (.*)\n", line)
- command = match.group(1)
- return True
- else:
- exit(0)
-
-class Select:
- def __init__(self, *tools):
- self.map = dict(map(lambda t: (t.outfd(), t), tools))
- self.rlist = map(lambda t: t.outfd(), tools)
-
- def select(self):
- ret = select(self.rlist, [], [])[0]
- for i in ret:
- stderr.flush()
- if not self.map[i].ready():
- self.rlist.remove(i)
- del self.map[i]
-
-listen = Listen("test.a", "test.b")
-provide = Provide()
-provide.send("start")
-s = Select(listen, provide)
-
-while True:
- s.select()
- if not s.rlist:
- break
diff --git a/sandbox/loadmem/.gitignore b/sandbox/loadmem/.gitignore
deleted file mode 100644
index c4f09807..00000000
--- a/sandbox/loadmem/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-loadmem
diff --git a/sandbox/loadmem/Makefile.am b/sandbox/loadmem/Makefile.am
deleted file mode 100644
index a33dcdc3..00000000
--- a/sandbox/loadmem/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-bin_PROGRAMS = loadmem
-
-loadmem_SOURCES = loadmem.c
diff --git a/sandbox/loadmem/loadmem.c b/sandbox/loadmem/loadmem.c
deleted file mode 100644
index b7a6f21a..00000000
--- a/sandbox/loadmem/loadmem.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* This file is part of sp-stress
- *
- * Copyright (C) 2009 Nokia Corporation.
- *
- * Contact: Jean-Luc Lamadon <jean-luc.lamadon@nokia.com>
- *
- * This program 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 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-int main(int argc, const char* argv[])
-{
- if (2 == argc)
- {
- const unsigned size = strtoul(argv[1], NULL, 0) << 20;
- const unsigned block_size = 512 << 10;
- int big_chunk = size - size * 0.05;
-
- int i = 1, block_nbr = (size - big_chunk) / block_size;
- void* data;
- printf("%d\n",block_nbr);
- printf("%d\n",big_chunk);
- printf("%d\n",block_size);
-
- data = malloc (block_size + big_chunk);
- for (i = 1 ; i < block_nbr ; i++)
- {
- data = (char*) realloc (data, i * block_size + big_chunk);
- memset(data, '-', i * block_size + big_chunk);
- }
- printf ("loadmem eats %u MB \n", (i * block_size + big_chunk) >> 20);
-
- while (1)
- sleep(5);
- }
- else
- {
- printf ("Usage: loadmem <Memory allocation in MB>\n");
- printf ("Example: loadmem 100\n");
- }
- return 0;
-} /* main */
diff --git a/sandbox/messaging-to-self/main.cpp b/sandbox/messaging-to-self/main.cpp
deleted file mode 100644
index aafda83c..00000000
--- a/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/sandbox/messaging-to-self/messaging-to-self.pro b/sandbox/messaging-to-self/messaging-to-self.pro
deleted file mode 100644
index bafbb027..00000000
--- a/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/sandbox/messaging-to-self/myobject.h b/sandbox/messaging-to-self/myobject.h
deleted file mode 100644
index 155ebf3b..00000000
--- a/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/sandbox/messaging-to-self/mythread.h b/sandbox/messaging-to-self/mythread.h
deleted file mode 100644
index 4170ccf8..00000000
--- a/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/sandbox/messaging-to-self/queuedinvoker.cpp b/sandbox/messaging-to-self/queuedinvoker.cpp
deleted file mode 100644
index 85dbb7d1..00000000
--- a/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/sandbox/messaging-to-self/queuedinvoker.h b/sandbox/messaging-to-self/queuedinvoker.h
deleted file mode 100644
index 8f81f26e..00000000
--- a/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/sandbox/multithreading-tests/Makefile.am b/sandbox/multithreading-tests/Makefile.am
deleted file mode 100644
index 8da6191d..00000000
--- a/sandbox/multithreading-tests/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-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
diff --git a/sandbox/multithreading-tests/new-property-in-thread/.gitignore b/sandbox/multithreading-tests/new-property-in-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/sandbox/multithreading-tests/new-property-in-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/sandbox/multithreading-tests/new-property-in-thread/Makefile.am b/sandbox/multithreading-tests/new-property-in-thread/Makefile.am
deleted file mode 100644
index 59dc63a7..00000000
--- a/sandbox/multithreading-tests/new-property-in-thread/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp thread.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS)
-LIBS += $(QtCore_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/new-property-in-thread/main.cpp b/sandbox/multithreading-tests/new-property-in-thread/main.cpp
deleted file mode 100644
index 3ab015fb..00000000
--- a/sandbox/multithreading-tests/new-property-in-thread/main.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <contextproperty.h>
-
-#include "thread.h"
-
-#include <QCoreApplication>
-#include <QThread>
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- qDebug() << "MAIN THREAD:" << QCoreApplication::instance()->thread();
-
- // Start a thread which will create the ContextProperty.
- Thread thread;
- thread.start();
-
- return app.exec();
-}
-
diff --git a/sandbox/multithreading-tests/new-property-in-thread/thread.h b/sandbox/multithreading-tests/new-property-in-thread/thread.h
deleted file mode 100644
index dd9951b3..00000000
--- a/sandbox/multithreading-tests/new-property-in-thread/thread.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef THREAD_H
-#define THREAD_H
-
-#include <contextproperty.h>
-
-#include <QThread>
-#include <QDebug>
-
-class Listener : public QObject
-{
- Q_OBJECT
-
-public:
- Listener()
- {
- cp = new ContextProperty("test.int");
- connect(cp, SIGNAL(valueChanged()), this, SLOT(onValueChanged()));
- }
-
- ContextProperty* cp;
-
-public slots:
- void onValueChanged()
- {
- qDebug() << "Listener::valueChanged(), and current thread is" << QThread::currentThread();
- qDebug() << "The value is:" << cp->value();
- exit(1);
- }
-};
-
-class Thread : public QThread
-{
- Q_OBJECT
-
-protected:
- void run()
- {
- qDebug() << "SUB THREAD:" << QThread::currentThread();
- Listener listener;
- exec();
- }
-
-};
-
-#endif
diff --git a/sandbox/multithreading-tests/old-property-in-thread/.gitignore b/sandbox/multithreading-tests/old-property-in-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/sandbox/multithreading-tests/old-property-in-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/sandbox/multithreading-tests/old-property-in-thread/Makefile.am b/sandbox/multithreading-tests/old-property-in-thread/Makefile.am
deleted file mode 100644
index 59dc63a7..00000000
--- a/sandbox/multithreading-tests/old-property-in-thread/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp thread.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS)
-LIBS += $(QtCore_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/old-property-in-thread/main.cpp b/sandbox/multithreading-tests/old-property-in-thread/main.cpp
deleted file mode 100644
index c21c9d7f..00000000
--- a/sandbox/multithreading-tests/old-property-in-thread/main.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <contextproperty.h>
-
-#include "thread.h"
-
-#include <QCoreApplication>
-#include <QDebug>
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- qDebug() << "Main thread is" << QThread::currentThread();
-
- ContextProperty* cp = new ContextProperty("test.int");
- delete cp;
- // Creating a ContextProperty will result in creating a PropertyHandle,
- // and the PropertyHandle is not deleted ever.
-
- // Start a thread which will create the same ContextProperty.
- Thread thread;
- thread.start();
-
- return app.exec();
-}
-
diff --git a/sandbox/multithreading-tests/old-property-in-thread/thread.h b/sandbox/multithreading-tests/old-property-in-thread/thread.h
deleted file mode 100644
index ec84afdf..00000000
--- a/sandbox/multithreading-tests/old-property-in-thread/thread.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef THREAD_H
-#define THREAD_H
-
-#include <contextproperty.h>
-
-#include <QThread>
-#include <QDebug>
-
-class Listener : public QObject
-{
- Q_OBJECT
-
-public:
- Listener()
- {
- cp = new ContextProperty("test.int");
- connect(cp, SIGNAL(valueChanged()), this, SLOT(onValueChanged()));
- }
-
- ContextProperty* cp;
-
-public slots:
- void onValueChanged()
- {
- qDebug() << "Listener::valueChanged(), and current thread is" << QThread::currentThread();
- qDebug() << "The value is:" << cp->value();
- exit(1);
- }
-};
-
-class Thread : public QThread
-{
- Q_OBJECT
-
-protected:
- void run()
- {
- qDebug() << "Thread::run(), and current thread is" << QThread::currentThread();
- Listener listener;
- exec();
- }
-
-};
-
-#endif
diff --git a/sandbox/multithreading-tests/single-thread/.gitignore b/sandbox/multithreading-tests/single-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/sandbox/multithreading-tests/single-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/sandbox/multithreading-tests/single-thread/Makefile.am b/sandbox/multithreading-tests/single-thread/Makefile.am
deleted file mode 100644
index 010bc826..00000000
--- a/sandbox/multithreading-tests/single-thread/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp listener.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS)
-LIBS += $(QtCore_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/single-thread/listener.h b/sandbox/multithreading-tests/single-thread/listener.h
deleted file mode 100644
index 9980f62a..00000000
--- a/sandbox/multithreading-tests/single-thread/listener.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef LISTENER_H
-#define LISTENER_H
-
-#include <contextproperty.h>
-
-#include <QDebug>
-
-class Listener : public QObject
-{
- Q_OBJECT
-
-public:
- Listener()
- {
- cp = new ContextProperty("test.int");
- connect(cp, SIGNAL(valueChanged()), this, SLOT(onValueChanged()));
- }
-
- ContextProperty* cp;
-
-public slots:
- void onValueChanged()
- {
- qDebug() << "Listener::valueChanged()";
- qDebug() << "The value is:" << cp->value();
- exit(1);
- }
-};
-
-#endif
diff --git a/sandbox/multithreading-tests/single-thread/main.cpp b/sandbox/multithreading-tests/single-thread/main.cpp
deleted file mode 100644
index 16dd2f65..00000000
--- a/sandbox/multithreading-tests/single-thread/main.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <contextproperty.h>
-
-#include "listener.h"
-
-#include <QCoreApplication>
-
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- Listener listener;
-
- return app.exec();
-}
diff --git a/sandbox/multithreading-tests/stress-test/.gitignore b/sandbox/multithreading-tests/stress-test/.gitignore
deleted file mode 100644
index e08dedad..00000000
--- a/sandbox/multithreading-tests/stress-test/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-run-test
-cache.cdb
diff --git a/sandbox/multithreading-tests/stress-test/1provider.cdb b/sandbox/multithreading-tests/stress-test/1provider.cdb
deleted file mode 100644
index 58655ef3..00000000
--- a/sandbox/multithreading-tests/stress-test/1provider.cdb
+++ /dev/null
Binary files differ
diff --git a/sandbox/multithreading-tests/stress-test/2providers.cdb b/sandbox/multithreading-tests/stress-test/2providers.cdb
deleted file mode 100644
index 98324d4c..00000000
--- a/sandbox/multithreading-tests/stress-test/2providers.cdb
+++ /dev/null
Binary files differ
diff --git a/sandbox/multithreading-tests/stress-test/Makefile.am b/sandbox/multithreading-tests/stress-test/Makefile.am
deleted file mode 100644
index 59dc63a7..00000000
--- a/sandbox/multithreading-tests/stress-test/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp thread.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS)
-LIBS += $(QtCore_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/stress-test/main.cpp b/sandbox/multithreading-tests/stress-test/main.cpp
deleted file mode 100644
index d7c334bd..00000000
--- a/sandbox/multithreading-tests/stress-test/main.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "thread.h"
-#include <QCoreApplication>
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- int maxTasks = 0;
- int maxTasks2 = 0;
- int task = -1;
-
- if (argc > 1 && atoi(argv[1]) > 0)
- maxTasks = atoi(argv[1]);
- if (argc > 2 && atoi(argv[2]) > 0)
- maxTasks2 = atoi(argv[2]);
- if (argc > 3 && atoi(argv[3]) > 0)
- task = atoi(argv[3]);
-
- TestRunner tests(maxTasks, "test.int", task);
- TestRunner tests2(maxTasks2, "test2.int", task);
-
- return app.exec();
-}
diff --git a/sandbox/multithreading-tests/stress-test/provider.py b/sandbox/multithreading-tests/stress-test/provider.py
deleted file mode 100755
index 748929a4..00000000
--- a/sandbox/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/sandbox/multithreading-tests/stress-test/runme.sh b/sandbox/multithreading-tests/stress-test/runme.sh
deleted file mode 100755
index a2aa73d6..00000000
--- a/sandbox/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/sandbox/multithreading-tests/stress-test/thread.h b/sandbox/multithreading-tests/stress-test/thread.h
deleted file mode 100644
index 44cbf7c8..00000000
--- a/sandbox/multithreading-tests/stress-test/thread.h
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef STRESS_H
-#define STRESS_H
-
-#include <contextproperty.h>
-
-#include <time.h>
-#include <QThread>
-#include <QDebug>
-
-#define NUM_TESTS 9
-
-/*
- * A thread doing something with a ContextProperty.
- *
- * First creates a ContextProperty tracking \c propertyName, then does some simple thing
- * with it based on the \c task number, then finally the ContextProperty is deleted.
- */
-class Thread : public QThread
-{
- Q_OBJECT
-
-public:
- Thread(const int task, const QString& propertyName) : task(task), propertyName(propertyName) {};
-
-protected:
- void run() {
- // create property do something and delete it
- ContextProperty* cp = new ContextProperty(propertyName);
- int value, realValue;
-
- switch (task) {
- case 1: // check value
- cp->waitForSubscription();
- value = cp->value().toInt();
- realValue = time(0);
- if (value != realValue && value != 0) {
- msleep(100); // give it 0.1 sec to arrive
- value = cp->value().toInt();
- if (value != realValue && value != 0)
- qDebug() << "*** value mismatch:" << propertyName << value << realValue;
- }
- break;
-
- case 2: // wait 0-2000 msec before deleting
- msleep(qrand()%2000);
- break;
-
- case 3: // unsubscribe
- cp->unsubscribe();
- break;
-
- case 4: // unsubscribe and wait a bit
- cp->unsubscribe();
- msleep(qrand()%2000);
- break;
-
- case 5: // unsubscribe and subscribe
- cp->unsubscribe();
- cp->subscribe();
- break;
-
- case 6: // unsubscribe, wait a bit then subscribe and wait some more
- cp->unsubscribe();
- msleep(qrand()%2000);
- cp->subscribe();
- msleep(qrand()%2000);
- break;
-
- case 7: // subscribe
- cp->subscribe();
- break;
-
- case 8: // subscribe
- msleep(qrand()%100);
- cp->subscribe();
- msleep(qrand()%100);
- break;
-
- default:; // just create and delete
- }
-
- delete(cp);
- exit();
- }
-
-private:
- int task;
- QString propertyName;
-
-};
-
-
-/*
- * Starts \c maxThreads number of threads doing simple tests wit ContextProperty \c propertyName
- * until stopped. The tasks are choosen randomly with equal weight. Whenever a thread stops
- * an other one will start, ad infinitum.
- */
-class TestRunner : public QObject
-{
- Q_OBJECT
-
-private:
- int maxThreads;
- QSet<Thread*> threads;
- QString propertyName;
- int count;
- int defaultTask;
-
-public:
- TestRunner(const int maxThreads, const QString& propertyName, int task = -1) :
- maxThreads(maxThreads), propertyName(propertyName), count(0), defaultTask(task) {
- for (int i = 0; i < maxThreads; i++)
- addThread();
- }
-
- void addThread() {
- int task = defaultTask != -1 ? defaultTask : qrand() % NUM_TESTS ;
- qDebug() << "** starting" << propertyName << task << "/" << ++count;
- Thread* t = new Thread(task, propertyName);
- QObject::connect(t, SIGNAL(finished()), this, SLOT(onThreadFinished()));
- threads.insert(t);
- t->start();
- }
-
-public slots:
- void onThreadFinished() {
- Thread* t = (Thread*) QObject::sender();
- if (threads.remove(t)) {
- delete t;
- addThread();
- }
- }
-};
-
-#endif
diff --git a/sandbox/multithreading-tests/using-backend-from-thread/.gitignore b/sandbox/multithreading-tests/using-backend-from-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/sandbox/multithreading-tests/using-backend-from-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/sandbox/multithreading-tests/using-backend-from-thread/Makefile.am b/sandbox/multithreading-tests/using-backend-from-thread/Makefile.am
deleted file mode 100644
index b4cf1a5d..00000000
--- a/sandbox/multithreading-tests/using-backend-from-thread/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp thread.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS)
-LIBS += $(QtCore_LIBS) $(QtDBus_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/using-backend-from-thread/main.cpp b/sandbox/multithreading-tests/using-backend-from-thread/main.cpp
deleted file mode 100644
index a6a7c8aa..00000000
--- a/sandbox/multithreading-tests/using-backend-from-thread/main.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <contextproperty.h>
-
-#include "thread.h"
-
-#include <QCoreApplication>
-#include <QDebug>
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- qDebug() << "Main thread is" << QThread::currentThread();
-
- // Start a thread which will use the backend
- Thread* thread = new Thread();
- thread->start();
-
- thread->wait();
- // Kill the thread
- qDebug() << "Thread stopped, deleting it";
- delete thread;
- qDebug() << "Entering main event loop";
-
- return app.exec();
-}
diff --git a/sandbox/multithreading-tests/using-backend-from-thread/thread.h b/sandbox/multithreading-tests/using-backend-from-thread/thread.h
deleted file mode 100644
index cd77a298..00000000
--- a/sandbox/multithreading-tests/using-backend-from-thread/thread.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef THREAD_H
-#define THREAD_H
-
-#include <contextproperty.h>
-#include <contextpropertyinfo.h>
-
-#include <QThread>
-#include <QDebug>
-
-class Listener : public QObject
-{
- Q_OBJECT
-
-public:
- Listener()
- {
- cp = new ContextProperty("test.int");
- qDebug() << "Provider is: " << cp->info()->providerDBusName();
- }
-
- ContextProperty* cp;
-};
-
-class Thread : public QThread
-{
- Q_OBJECT
-
-protected:
- void run()
- {
- qDebug() << "Thread::run(), and current thread is" << QThread::currentThread();
- Listener listener;
-
- qDebug() << "Returning from run";
- }
-
-};
-
-#endif
diff --git a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore b/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.am b/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.am
deleted file mode 100644
index 59dc63a7..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp thread.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS)
-LIBS += $(QtCore_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/main.cpp b/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/main.cpp
deleted file mode 100644
index 1a1727b7..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/main.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <contextproperty.h>
-
-#include "thread.h"
-
-#include <QCoreApplication>
-#include <QThread>
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- qDebug() << "MAIN THREAD:" << QCoreApplication::instance()->thread();
-
- // Start a thread which will create the ContextProperty.
- Thread thread;
- thread.start();
-
- qDebug() << "Entering main loop";
- return app.exec();
-}
diff --git a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/thread.h b/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/thread.h
deleted file mode 100644
index e92af6f2..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-only-in-thread/thread.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef THREAD_H
-#define THREAD_H
-
-#include <contextproperty.h>
-
-#include <QThread>
-#include <QDebug>
-
-class Listener : public QObject
-{
- Q_OBJECT
-
-public:
- Listener()
- {
- cp = new ContextProperty("test.int");
- connect(cp, SIGNAL(valueChanged()), this, SLOT(onValueChanged()));
- qDebug() << "**** Starting to wait";
- cp->waitForSubscription();
- qDebug() << "**** Waiting is done";
- qDebug() << "After waiting, the value is" << cp->value();
- sleep(1);
- qDebug() << "After waiting 1 s more, the value is" << cp->value();
-
- }
-
- ContextProperty* cp;
-
-public slots:
- void onValueChanged()
- {
- qDebug() << "Listener::valueChanged(), and current thread is" << QThread::currentThread();
- qDebug() << "The value is:" << cp->value();
-// exit(1);
- }
-};
-
-class Thread : public QThread
-{
- Q_OBJECT
-
-protected:
- void run()
- {
- qDebug() << "SUB THREAD:" << QThread::currentThread();
- Listener listener;
- exec();
- }
-
-};
-
-#endif
diff --git a/sandbox/multithreading-tests/wait-for-subscription-thread/.gitignore b/sandbox/multithreading-tests/wait-for-subscription-thread/.gitignore
deleted file mode 100644
index 4390dc85..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-thread/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-run-test
diff --git a/sandbox/multithreading-tests/wait-for-subscription-thread/Makefile.am b/sandbox/multithreading-tests/wait-for-subscription-thread/Makefile.am
deleted file mode 100644
index 59dc63a7..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-thread/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_PROGRAMS = run-test
-run_test_SOURCES = main.cpp thread.h
-
-AM_CXXFLAGS = $(QtCore_CFLAGS)
-LIBS += $(QtCore_LIBS)
-
-# library dependency hack for seamless make in cli/
-AM_CXXFLAGS += -I$(srcdir)/../../src
-run_test_LDADD = ../../src/libcontextsubscriber.la
-
-../../src/libcontextsubscriber.la: FORCE
- $(MAKE) -C ../../src libcontextsubscriber.la
-.PHONY: FORCE
-
-# moccing
-nodist_run_test_SOURCES = mocs.cpp
-QT_TOMOC = $(filter %.h, $(run_test_SOURCES))
-include $(top_srcdir)/am/qt.am
diff --git a/sandbox/multithreading-tests/wait-for-subscription-thread/main.cpp b/sandbox/multithreading-tests/wait-for-subscription-thread/main.cpp
deleted file mode 100644
index 44390e2d..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-thread/main.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <contextproperty.h>
-
-#include "thread.h"
-
-#include <QCoreApplication>
-#include <QThread>
-
-int main(int argc, char** argv)
-{
- QCoreApplication app(argc, argv);
-
- qDebug() << "MAIN THREAD:" << QCoreApplication::instance()->thread();
-
- // Start a thread which will create the ContextProperty.
- Thread thread;
- thread.start();
-
- sleep(2);
- ContextProperty *cp = new ContextProperty("test.int");
- cp->waitForSubscription();
- qDebug() << "waiting is done in the main";
-
- return app.exec();
-}
-
diff --git a/sandbox/multithreading-tests/wait-for-subscription-thread/thread.h b/sandbox/multithreading-tests/wait-for-subscription-thread/thread.h
deleted file mode 100644
index 7766fe68..00000000
--- a/sandbox/multithreading-tests/wait-for-subscription-thread/thread.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef THREAD_H
-#define THREAD_H
-
-#include <contextproperty.h>
-
-#include <QThread>
-#include <QDebug>
-
-class Listener : public QObject
-{
- Q_OBJECT
-
-public:
- Listener()
- {
- cp = new ContextProperty("test.int");
- connect(cp, SIGNAL(valueChanged()), this, SLOT(onValueChanged()));
- cp->waitForSubscription();
- qDebug() << "Waiting is done";
- }
-
- ContextProperty* cp;
-
-public slots:
- void onValueChanged()
- {
- qDebug() << "Listener::valueChanged(), and current thread is" << QThread::currentThread();
- qDebug() << "The value is:" << cp->value();
-// exit(1);
- }
-};
-
-class Thread : public QThread
-{
- Q_OBJECT
-
-protected:
- void run()
- {
- qDebug() << "SUB THREAD:" << QThread::currentThread();
- Listener listener;
- exec();
- }
-
-};
-
-#endif
diff --git a/sandbox/wait-test/main.cpp b/sandbox/wait-test/main.cpp
deleted file mode 100644
index 9f4e748f..00000000
--- a/sandbox/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/sandbox/wait-test/wait-test.pro b/sandbox/wait-test/wait-test.pro
deleted file mode 100644
index 6555dbef..00000000
--- a/sandbox/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/spec/.gitignore b/spec/.gitignore
deleted file mode 100644
index f86da66e..00000000
--- a/spec/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-context.valid.stamp
-introspect/
-context-provider-schema.html
-context-properties.html
-contextkit.html
-core-types.html
diff --git a/spec/Makefile.in b/spec/Makefile.in
new file mode 100644
index 00000000..c09b9a09
--- /dev/null
+++ b/spec/Makefile.in
@@ -0,0 +1,565 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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_contexttypes_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/dolt.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 =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(contextdir)" \
+ "$(DESTDIR)$(contexttypesdir)" "$(DESTDIR)$(htmldir)"
+DATA = $(dist_context_DATA) $(dist_contexttypes_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 core-types.html contextkit.html context-provider-schema.html
+contextdir = $(datadir)/contextkit/
+dist_context_DATA = core.context
+contexttypesdir = $(contextdir)/types/
+dist_contexttypes_DATA = core.types
+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 \
+ xs3p
+
+INTERFACES = \
+ Manager.xml \
+ Subscriber.xml \
+ ContextKit.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 \
+ Context.owl
+
+MAINTAINERCLEANFILES = \
+ $(INTROSPECT) \
+ context.valid.stamp \
+ context-properties.html \
+ core-types.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'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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)'; test -n "$(contextdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(contextdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(contextdir)" || exit $$?; \
+ done
+
+uninstall-dist_contextDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_context_DATA)'; test -n "$(contextdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(contextdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(contextdir)" && rm -f $$files
+install-dist_contexttypesDATA: $(dist_contexttypes_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(contexttypesdir)" || $(MKDIR_P) "$(DESTDIR)$(contexttypesdir)"
+ @list='$(dist_contexttypes_DATA)'; test -n "$(contexttypesdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(contexttypesdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(contexttypesdir)" || exit $$?; \
+ done
+
+uninstall-dist_contexttypesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_contexttypes_DATA)'; test -n "$(contexttypesdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(contexttypesdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(contexttypesdir)" && rm -f $$files
+install-dist_htmlDATA: $(dist_html_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+ @list='$(dist_html_DATA)'; test -n "$(htmldir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+ done
+
+uninstall-dist_htmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_html_DATA)'; test -n "$(htmldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(htmldir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(htmldir)" && rm -f $$files
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)$(contexttypesdir)" "$(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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_contextDATA \
+ install-dist_contexttypesDATA install-dist_htmlDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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_contexttypesDATA 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_contexttypesDATA 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_contexttypesDATA \
+ 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 $@ -
+
+core-types.html: core.types 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..66f91872
--- /dev/null
+++ b/spec/context-properties.html
@@ -0,0 +1,1684 @@
+<!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.4.4" />
+<title>Core Context Properties</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</style>
+</head>
+<body>
+<div id="header">
+<h1>Core Context Properties</h1>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p>This is the list of the core contextual properties of the Maemo
+platform.</p></div>
+<div class="paragraph"><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="paragraph"><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="paragraph"><p>These properties talk about the display screens of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<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="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+top
+<br />
+bottom
+<br />
+left
+<br />
+right
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Screen.IsCovered</strong> (<a href="core-types.html#type-bool">bool</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_location">Location</h2>
+<div class="sectionbody">
+<div class="paragraph"><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="dlist"><dl>
+<dt class="hdlist1">
+<strong>Location.CurrentSource</strong> (<a href="core-types.html#type-location-source">location-source</a>)
+</dt>
+<dd>
+<p>
+The current source of location information as an enumeration of strings.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.ActiveSources</strong> (List of <em><a href="core-types.html#type-location-source">location-source</a></em>s)
+</dt>
+<dd>
+<p>
+List of active sources of location information.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Coordinates</strong> (List of <em><a href="core-types.html#type-number">number</a></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 class="hdlist1">
+<strong>Location.Street</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The street nearest the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.PostalCode</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The postcode of the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Area</strong> (<a href="core-types.html#type-string">string</a>)
+</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 class="hdlist1">
+<strong>Location.Locality</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The name of the village, town or city where the device is, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Region</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The administrative region which contains the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Country</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The country which contains the location of the device, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.CountryCode</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The ISO 3166 two letter country code of the country which contains the location of the device.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Timezone</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+TBD
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.TimezoneOffset</strong> (<a href="core-types.html#type-duration">duration</a>)
+</dt>
+<dd>
+<p>
+TBD
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Continent</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The name of the current continent, as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.Planet</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The name of the current planet (or dwarf planet), as a localized string.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.PointOfInterest</strong> (<a href="core-types.html#type-tracker-uri">tracker-uri</a>)
+</dt>
+<dd>
+<p>
+The URI of the current point of interest, if any. (The URI points to
+a Tracker object inside the Content Framework.)
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Location.NearbyContacts</strong> (List of <em><a href="core-types.html#type-tracker-uri">tracker-uri</a></em>s)
+</dt>
+<dd>
+<p>
+A list of URIs for contacts that are physically nearby.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_position">Position</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the physical position of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Position.Stable</strong> (<a href="core-types.html#type-bool">bool</a>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the position is stable, i.e., the device does not move.
+</p>
+</dd>
+</dl></div>
+</div>
+<h2 id="_battery">Battery</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the batteries of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Battery.ChargePercentage</strong> (<a href="core-types.html#type-percentage">percentage</a>)
+</dt>
+<dd>
+<p>
+The average charge level of the currently connected batteries.
+Expressed as percentage of the maximum charge level.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.OnBattery</strong> (<a href="core-types.html#type-bool">bool</a>)
+</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 class="hdlist1">
+<strong>Battery.LowBattery</strong> (<a href="core-types.html#type-bool">bool</a>)
+</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 class="hdlist1">
+<strong>Battery.IsCharging</strong> (<a href="core-types.html#type-bool">bool</a>)
+</dt>
+<dd>
+<p>
+Whether or not the device is currently charging at least one of its batteries.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.TimeUntilLow</strong> (<a href="core-types.html#type-duration">duration</a>)
+</dt>
+<dd>
+<p>
+Estimates the time that the device can run on battery before the property
+OnLowBattery becomes true. In seconds.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Battery.TimeUntilFull</strong> (<a href="core-types.html#type-duration">duration</a>)
+</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="paragraph"><p>Information about the current state of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>System.MemoryPressure</strong> (<a href="core-types.html#type-int-enum">int-enum</a>)
+</dt>
+<dd>
+<p>
+Current memory load. Possible values: 0 (normal), 1 (high; low watermark exceeded), 2 (critical; high watermark exceeded).
+</p>
+<div class="paragraph"><p>Type parameters:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+normal
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+ARRAY(0x9c6cc70)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+high
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+ARRAY(0x9c6cd00)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+critical
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+ARRAY(0x9c6cd70)
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_internet_connectivity">Internet connectivity</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the connection of the devide to the Internet.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<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="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+wifi
+<br />
+wimax
+<br />
+cellular
+<br />
+bluetooth
+<br />
+ethernet
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Internet.NetworkName</strong> (<a href="core-types.html#type-string">string</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The name of the current network.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.NetworkState</strong> (Enumeration of <em>string</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The state of the Internet connection, as one of "connected",
+ "disconnected", and "connecting".
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+disconnected
+<br />
+connecting
+<br />
+connected
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.SignalStrength</strong> (<a href="core-types.html#type-percentage">percentage</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.TrafficOut</strong> (<a href="core-types.html#type-percentage">percentage</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A rough indication of the current traffic rate to the Internet, in
+percent of the maximum possible rate.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Internet.TrafficIn</strong> (<a href="core-types.html#type-percentage">percentage</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A rough indication of the current traffic rate from the Internet, in
+percent of the maximum possible rate.
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_bluetooth">Bluetooth</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about Bluetooth related things.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Bluetooth.Enabled</strong> (<a href="core-types.html#type-bool">bool</a>)
+</dt>
+<dd>
+<p>
+A boolean indicating whether or not the Bluetooth radio is enabled.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Bluetooth.Visible</strong> (<a href="core-types.html#type-bool">bool</a>)
+</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="paragraph"><p>Information about the cellular radio.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Cellular.NetworkName</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The name of the cellular network.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Cellular.SignalStrength</strong> (<a href="core-types.html#type-percentage">percentage</a>)
+</dt>
+<dd>
+<p>
+The signal strength at the cellular radio, in percent of the maximum.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Cellular.Technology</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The currently used Radio Access Technology.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+gsm
+<br />
+umts
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Cellular.DataTechnology</strong> (Enumeration of <em>string</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The currently used Radio Access Technology for data transfer.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+gprs
+<br />
+egprs
+<br />
+umts
+<br />
+hspa
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Cellular.RegistrationStatus</strong> (Enumeration of <em>string</em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The current cellular network registration status.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+home
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Registered with the home network
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+roam
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Roaming
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+no-sim
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+No SIM card is present
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+offline
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Cellular radio is powered off
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+forbidden
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Cellular access is denied, e.g., because of invalid SIM
+</p>
+</td>
+</tr>
+</table></div>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_user_alarms">User alarms</h2>
+<div class="sectionbody">
+<div class="paragraph"><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="dlist"><dl>
+<dt class="hdlist1">
+<strong>UserAlarm.Present</strong> (<a href="core-types.html#type-bool">bool</a>)
+</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 class="hdlist1">
+<strong>UserAlarm.Enabled</strong> (<a href="core-types.html#type-bool">bool</a>)
+</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 class="hdlist1">
+<strong>UserAlarm.NextTime</strong> (<a href="core-types.html#type-time">time</a>)
+</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 class="hdlist1">
+<strong>UserAlarm.NextDescription</strong> (<a href="core-types.html#type-string">string</a>)
+</dt>
+<dd>
+<p>
+The description of the next (enabled) alarm. If no alarms are present,
+the value is Unknown.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>UserAlarm.NextCookie</strong> (<a href="core-types.html#type-integer">integer</a>)
+</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="paragraph"><p>Information about the environment the device is in.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Environment.SunRise</strong> (<a href="core-types.html#type-time">time</a>)
+</dt>
+<dd>
+<p>
+The time of sun rise.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Environment.SunSet</strong> (<a href="core-types.html#type-time">time</a>)
+</dt>
+<dd>
+<p>
+The time of sun set.
+</p>
+</dd>
+<dt class="hdlist1">
+<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="paragraph"><p>Possible map keys:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+Condition
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The current weather condition, as a localized, human readable string.
+Examples are "Cloudy", "Raining", etc.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ConditionCode
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Humidity
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The relative humidity in percent.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Temperature
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+TemperatureK
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The temperature in Kelvin.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ApparentTemperature
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The felt temperature as a localized string, analogous to Temperature.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+ApparentTemperatureK
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The felt temperature in Kelvin.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+DewPoint
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The dew point as a localized string, analogous to Temperature.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+DewPointK
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The dew point in Kelvin.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Pressure
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The atmospheric pressure in milli bar.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Precipitation
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The rain or snow fall in millimeter per square meter per hour (or some
+other more common unit).
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+Visibility
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The visibility in meter.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+WindSpeed
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The wind speed in meters per second.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+WindDirection
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The wind direction as a localized string. The direction is given in
+compass terms: North, South-West, etc.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+WindDirectionD
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The wind direction in degrees. North is 0, east is 90, etc.
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Environment.IsDark</strong> (<a href="core-types.html#type-bool">bool</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not it is especially dark.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Environment.IsBright</strong> (<a href="core-types.html#type-bool">bool</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not it is especially bright.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Environment.IsLoud</strong> (<a href="core-types.html#type-bool">bool</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not it is especially loud.
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_use">Use</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about the current usage context of the device.</p></div>
+<div class="paragraph"><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="paragraph"><p>Not much is known about all this right now.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Use.Situations</strong> (<a href="core-types.html#type-string-list">string-list</a>)
+</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 class="hdlist1">
+<strong>Use.Mode</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The current main usage mode of the device.
+</p>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+editing
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+recording
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is taking pictures, or recording video or audio.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+browsing
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+watching
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is watching a video, without closely interacting with the
+device.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+listening
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is listening to audio, without closely interacting with the
+device.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+reading
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is reading a document, such as when reading a article on the
+web or a e-book.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+chatting
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is involved in a real-time, text-based dialog with external
+parties.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+gaming
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is interacting closely with the device, for entertainment.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+calling
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is involved in a real-time, audio- or video-based dialog with
+external parties.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+active
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user interacting closely with the device, for an activity that
+doesn&#8217;t fit into any of the above categories.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+idle
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The device is not being used.
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+maintenance
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+The user is doing system-wide maintenance work such as restoring a
+backup or upgrading the OS software.
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+<tr>
+<td class="hdlist1">
+<strong>Use.ConnectedContacts</strong> (List of <em><a href="core-types.html#type-tracker-uri">tracker-uri</a></em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of URIs for contacts that the user is currently engaged in
+conversations with. (The URIs point to Tracker objects.)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Use.RecentDocuments</strong> (List of <em><a href="core-types.html#type-tracker-uri">tracker-uri</a></em>s)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+A list of URIs for recently used documents, at most ten elements long.
+(The URIs point to Tracker objects.)
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Use.Keyboarding</strong> (<a href="core-types.html#type-bool">bool</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+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>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+<strong>Use.Phoning</strong> (<a href="core-types.html#type-bool">bool</a>)
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+Whether or not the user is using the device as a telephone handset,
+holding it next to ear and mouth.
+</p>
+</td>
+</tr>
+</dl></div>
+</div>
+<h2 id="_events">Events</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about current and upcoming calendar entries.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Event.Current</strong> (List of <em><a href="core-types.html#type-tracker-uri">tracker-uri</a></em>s)
+</dt>
+<dd>
+<p>
+The currently active events, as a list of Tracker 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 class="hdlist1">
+<strong>Event.CurrentStart</strong> (<a href="core-types.html#type-time">time</a>)
+</dt>
+<dd>
+<p>
+The earliest start time of the events in Events.Current.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.CurrentEnd</strong> (<a href="core-types.html#type-time">time</a>)
+</dt>
+<dd>
+<p>
+The latest end time of the events in Events.Current.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.Next</strong> (List of <em><a href="core-types.html#type-tracker-uri">tracker-uri</a></em>s)
+</dt>
+<dd>
+<p>
+The upcoming events, as a list of Tracker 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 class="hdlist1">
+<strong>Event.NextStart</strong> (<a href="core-types.html#type-time">time</a>)
+</dt>
+<dd>
+<p>
+The earliest start time of the events in Events.Next.
+</p>
+</dd>
+<dt class="hdlist1">
+<strong>Event.NextEnd</strong> (<a href="core-types.html#type-time">time</a>)
+</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="paragraph"><p>Information about the expected behavior of the device.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Profile.Name</strong> (<a href="core-types.html#type-string">string</a>)
+</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="paragraph"><p>Information about the current user session. If there is no current
+session, all values are null.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>Session.State</strong> (Enumeration of <em>string</em>s)
+</dt>
+<dd>
+<p>
+The state of the current session, as string valued enumeration.
+</p>
+</dd>
+</dl></div>
+<div class="paragraph"><p>The session is in the "normal" 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="paragraph"><p>The session goes to the "blanked" state when the user stops
+interacting with it and the the screen is blanked. In general, there
+is no point in trying to interact with the user when the session is
+blanked.</p></div>
+<div class="paragraph"><p>The session is in the "fullscreen" state when the complete screen has
+been given to an application, such as full-screen video playback. In
+that state, the notification areas and status menus, etc of the
+desktop aren&#8217;t visible to the user, of course, and notifications
+should be unintrusive and important.</p></div>
+<div class="paragraph"><p>Applications should be prepared to see all states in any kind of order
+without getting confused.</p></div>
+<div class="paragraph"><p>+</p></div>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+normal
+<br />
+fullscreen
+<br />
+blanked
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</div>
+<h2 id="_media">Media</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Information about media related activity.</p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<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="paragraph"><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="paragraph"><p>+</p></div>
+<div class="paragraph"><p>Possible map keys:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+resource
+<br />
+title
+<br />
+artist
+<br />
+genre
+<br />
+album
+<br />
+duration
+<br />
+start-time
+<br />
+state
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-11-18 12:52:34 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..8e57efc1
--- /dev/null
+++ b/spec/contextkit.html
@@ -0,0 +1,226 @@
+<!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><li><code><a href="#org.maemo.contextkit.Property">org.maemo.contextkit.Property</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><a name="org.maemo.contextkit.Property" id="org.maemo.contextkit.Property"></a>org.maemo.contextkit.Property</h1><h2>Methods:</h2><div class="method"><h3><a name="org.maemo.contextkit.Property.Subscribe" id="org.maemo.contextkit.Property.Subscribe">Subscribe</a> (
+
+ ) &#8594;
+ av, t</h3><div class="docstring">
+ Subscribes to the context property.
+ </div><div><h4>Returns</h4><dl><dt><code>value</code> &#8722;
+ <code>av</code> (<a xmlns="" href="#type-Maybe_Variant">Maybe_Variant</a>)</dt><dd>
+ The actual value at the of subscription.
+ </dd><dt><code>timestamp</code> &#8722;
+ <code>t</code></dt><dd>
+ The timestamp of the value.
+ </dd></dl></div></div><div class="method"><h3><a name="org.maemo.contextkit.Property.Unsubscribe" id="org.maemo.contextkit.Property.Unsubscribe">Unsubscribe</a> (
+
+ ) &#8594;
+ nothing</h3><div class="docstring">
+ Unsubscribes from the property.
+ </div></div><div class="method"><h3><a name="org.maemo.contextkit.Property.Get" id="org.maemo.contextkit.Property.Get">Get</a> (
+
+ ) &#8594;
+ av, t</h3><div class="docstring">
+ Returns the actual value from the provider without subscribing to it.
+ </div><div><h4>Returns</h4><dl><dt><code>value</code> &#8722;
+ <code>av</code> (<a xmlns="" href="#type-Maybe_Variant">Maybe_Variant</a>)</dt><dd></dd><dt><code>timestamp</code> &#8722;
+ <code>t</code></dt><dd></dd></dl></div></div><h2>Signals:</h2><div class="signal"><h3><a name="org.maemo.contextkit.Property.Changed" id="org.maemo.contextkit.Property.Changed">Changed</a> (
+ av: value, t: timestamp
+ )</h3><div class="docstring">
+ Emitted when the value changed and there are at least one subscribed client.
+ </div><div><h4>Parameters</h4><dl><dt><code>value</code> &#8722;
+ <code>av</code> (<a xmlns="" href="#type-Maybe_Variant">Maybe_Variant</a>)</dt><dd></dd><dt><code>timestamp</code> &#8722;
+ <code>t</code></dt><dd></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>Simple types</h2><div class="simple-type"><h3><a name="type-Maybe_Variant" id="type-Maybe_Variant">Maybe_Variant</a> &#8722; av</h3><div class="docstring">A list of variants where empty list represents
+ unknown, otherwise it represents the same variant as the contained
+ first variant. This hack is needed because D-Bus doesn't support
+ null values on the wire.</div></div><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><li><code><a href="#org.maemo.contextkit.Property">org.maemo.contextkit.Property</a></code></li></ul><h2>Index of types</h2><ul><li><code><a href="#type-Maybe_Variant">Maybe_Variant</a></code>
+ &#8722; av</li><li><code><a href="#type-Value_Set">Value_Set</a></code>
+ &#8722; a{ s &#8594; v }
+ </li></ul></body></html>
diff --git a/spec/core-types.html b/spec/core-types.html
new file mode 100644
index 00000000..5e6bb940
--- /dev/null
+++ b/spec/core-types.html
@@ -0,0 +1,774 @@
+<!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.4.4" />
+<title>Core Types for Context properties</title>
+<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 {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ 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 > div.content {
+ border: 1px solid silver;
+ background: #f4f4f4;
+ padding: 0.5em;
+}
+
+div.quoteblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock {
+ padding-left: 2.0em;
+ margin-right: 10%;
+}
+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;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead {
+ font-family: sans-serif;
+ font-weight: bold;
+}
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+@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; }
+</style>
+</head>
+<body>
+<div id="header">
+<h1>Core Types for Context properties</h1>
+</div>
+<h2 id="_fundamental_types">Fundamental types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a id="type-value"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>value</strong>
+</dt>
+<dd>
+<p>
+Any representable value.
+</p>
+<div class="paragraph"><p><a id="type-bool"></a></p></div>
+</dd>
+<dt class="hdlist1">
+<strong>bool</strong>
+</dt>
+<dd>
+<p>
+A boolean.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-number"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>number</strong>
+</dt>
+<dd>
+<p>
+A number with in the range indicated by the "min" and
+ "max" parameters. The value is represented as either a
+ "int32", "uint32", "int64", "uint64", or "double".
+</p>
+<div class="paragraph"><p>min (<a href="core-types.html#type-number">number</a>): Lower bound</p></div>
+<div class="paragraph"><p>max (<a href="core-types.html#type-number">number</a>): Upper bound</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-integer"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>integer</strong>
+</dt>
+<dd>
+<p>
+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.
+</p>
+<div class="paragraph"><p>min (<a href="core-types.html#type-number">number</a>): Lower bound</p></div>
+<div class="paragraph"><p>max (<a href="core-types.html#type-number">number</a>): Upper bound</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-string"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>string</strong>
+</dt>
+<dd>
+<p>
+A string.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-list"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>list</strong>
+</dt>
+<dd>
+<p>
+A list with elements of the given type and minimum and
+ maximum length given by the "min" and "max" parameters,
+ respectively.
+ <br />
+ When the "type" parameter is omitted, it defaults to
+ "value".
+</p>
+<div class="paragraph"><p>min (<a href="core-types.html#type-integer">integer</a>): Minimum length</p></div>
+<div class="paragraph"><p>max (<a href="core-types.html#type-integer">integer</a>): Maximum length</p></div>
+<div class="paragraph"><p>type (<a href="core-types.html#type-type">type</a>): Element type</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-map"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>map</strong>
+</dt>
+<dd>
+<p>
+A map. The parameters specify the allowed keys in the map.
+ <br />
+ Each parameter is a association tree that describes one
+ possible key. The name of the tree is the key itself, and
+ the second level of the tree can have "doc" and "type"
+ attributes for that key.
+ <br />
+ When the special key name "allow-other-keys" is present,
+ all keys are allowed; otherwise, only the specified keys
+ have any meaning and additional keys are an error.
+ <br />
+ When no parameters are given, all keys are allowed.
+</p>
+<div class="paragraph"><p>rest: The allowed keys</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_generic_types">Generic types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a id="type-association-tree"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>association-tree</strong>
+</dt>
+<dd>
+<p>
+A tree made from nested lists, used to associate
+ (hierarchical) keys with values.
+ <br />
+ For example, the association tree
+ <br />
+ [ "foo", [ "bar", 12 ], [ "baz", 42 ] ]
+ <br />
+ associates "foo", "bar" with 12 and "foo", "baz" with 42.
+ <br />
+ Association trees are often used as a simple "Nano DOM" for
+ XML documents.
+ <br />
+ Formally, a association tree is a list whose first element is
+ a string, and whose rest elements are either association
+ trees, or a single value.
+ <br />
+ The "name" of a association tree is the first element of its
+ top-level list.
+ <br />
+ As a special case, a association tree with just a name and no
+ other elements can be abbreviated by just stating the name as
+ a string. E.g., the following two values are equivalent when
+ considered as a association tree:
+ <br />
+ "foo"
+ [ "foo" ]
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-value">value</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-association-list"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>association-list</strong>
+</dt>
+<dd>
+<p>
+A list of association trees.
+</p>
+<div class="paragraph"><p>Base: List of <em><a href="core-types.html#type-association-tree">association-tree</a></em>s</p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-string-enum"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>string-enum</strong>
+</dt>
+<dd>
+<p>
+This is the base type for enumerations of fixed strings. The
+ parameters describe the possible values.
+ <br />
+ Each parameter is a association tree that describes one of
+ the choices. The name of the association tree is the
+ string for the choice itself and the second level of the
+ tree can have a "doc" attribute for that choice.
+</p>
+<div class="paragraph"><p>rest: The possible values</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-string">string</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-int-enum"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>int-enum</strong>
+</dt>
+<dd>
+<p>
+This is the base type for enumerations of fixed integers.
+ The parameters describe the possible values.
+ <br />
+ Each parameter is a association tree that describes one of
+ the choices. The name of the association tree is a
+ symbolic name for the choice itself and the second level
+ of the tree must have a "value" attribute that gives the
+ numerical value of the choice in decimal. A choice can
+ also have a "doc" attribute, of course.
+</p>
+<div class="paragraph"><p>rest: The possible values</p></div>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+</div>
+<h2 id="_specific_types">Specific types</h2>
+<div class="sectionbody">
+<div class="paragraph"><p><a id="type-type"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>type</strong>
+</dt>
+<dd>
+<p>
+A reference to a type, consisting of a name and optional
+ parameters.
+ <br />
+ Type references are just association trees: the name of
+ the tree names the referenced type, and the associations
+ of the association tree are the parameters.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-association-tree">association-tree</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-temperature"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>temperature</strong>
+</dt>
+<dd>
+<p>
+A temperature in Kelvin.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+<div class="paragraph"><p>Type parameters:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+min
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+0
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-energy"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>energy</strong>
+</dt>
+<dd>
+<p>
+An amount of energy, in Joule.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-power"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>power</strong>
+</dt>
+<dd>
+<p>
+A power, in Watt.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-number">number</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-time"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>time</strong>
+</dt>
+<dd>
+<p>
+A point in time, represented as the number of nano-seconds since
+ 00:00 January 1, 1970, UTC.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-duration"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>duration</strong>
+</dt>
+<dd>
+<p>
+A time duration, in nano-seconds.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-percentage"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>percentage</strong>
+</dt>
+<dd>
+<p>
+A percentage.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-integer">integer</a></p></div>
+<div class="paragraph"><p>Type parameters:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+min
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+0
+</p>
+</td>
+</tr>
+<tr>
+<td class="hdlist1">
+max
+<br />
+</td>
+<td class="hdlist2">
+<p style="margin-top: 0;">
+100
+</p>
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-location-source"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>location-source</strong>
+</dt>
+<dd>
+<p>
+Describes a source of location information. Possible values are
+ "satellite", "wlan", "cellular", and "timezone".
+</p>
+<div class="paragraph"><p>Base: Enumeration of <em>string</em>s</p></div>
+<div class="paragraph"><p>Possible enumeration values:</p></div>
+<div class="hdlist"><table>
+<tr>
+<td class="hdlist1">
+satellite
+<br />
+wlan
+<br />
+cellular
+<br />
+timezone
+<br />
+</td>
+<td class="hdlist2">
+</td>
+</tr>
+</table></div>
+</dd>
+</dl></div>
+<div class="paragraph"><p><a id="type-tracker-uri"></a></p></div>
+<div class="dlist"><dl>
+<dt class="hdlist1">
+<strong>tracker-uri</strong>
+</dt>
+<dd>
+<p>
+A URI that names a object in the Tracker object store.
+</p>
+<div class="paragraph"><p>Base: <a href="core-types.html#type-string">string</a></p></div>
+</dd>
+</dl></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-11-18 12:52:36 EEST
+</div>
+</div>
+</body>
+</html>
diff --git a/spec/introspect/ContextKit.xml b/spec/introspect/ContextKit.xml
new file mode 100644
index 00000000..a7f0f234
--- /dev/null
+++ b/spec/introspect/ContextKit.xml
@@ -0,0 +1,19 @@
+<?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="/org/maemo/contextkit/Some/Property">
+ <interface name="org.maemo.contextkit.Property">
+ <method name="Subscribe">
+ <arg name="value" type="av" direction="out"/>
+ <arg name="timestamp" type="t" direction="out"/>
+ </method>
+ <method name="Unsubscribe"/>
+ <method name="Get">
+ <arg name="value" type="av" direction="out"/>
+ <arg name="timestamp" type="t" direction="out"/>
+ </method>
+ <signal name="Changed">
+ <arg name="value" type="av"/>
+ <arg name="timestamp" type="t"/>
+ </signal>
+ </interface>
+</node>
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/tools/Makefile.in b/tools/Makefile.in
new file mode 100644
index 00000000..feb3f4aa
--- /dev/null
+++ b/tools/Makefile.in
@@ -0,0 +1,394 @@
+# Makefile.in generated by automake 1.11 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@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/dolt.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 =
+CONFIG_CLEAN_VPATH_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@
+DOLT_BASH = @DOLT_BASH@
+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@
+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@
+LTCOMPILE = @LTCOMPILE@
+LTCXXCOMPILE = @LTCXXCOMPILE@
+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_URL = @PACKAGE_URL@
+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 = git-make-dist git-missing-release tiny_get_frontend.py tiny_subscribe_frontend.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 tools/Makefile'; \
+ $(am__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
+$(am__aclocal_m4_deps):
+
+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 "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$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)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+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: