Merge lp:unity-scopes-api/staging into lp:unity-scopes-api

Proposed by Paweł Stołowski
Status: Merged
Approved by: Michi Henning
Approved revision: 278
Merged at revision: 324
Proposed branch: lp:unity-scopes-api/staging
Merge into: lp:unity-scopes-api
Diff against target: 9607 lines (+3956/-1888)
184 files modified
CMakeLists.txt (+1/-1)
CTestCustom.cmake.in (+6/-0)
HACKING (+36/-0)
README (+1/-1)
RELEASE_NOTES.md (+8/-0)
STRUCTS (+8/-0)
debian/changelog (+10/-0)
debian/libunity-scopes-qt-dev.debhelper.log (+0/-4)
debian/libunity-scopes-qt-doc.debhelper.log (+0/-4)
debian/libunity-scopes-qt.debhelper.log (+0/-30)
debian/libunity-scopes-qt.symbols (+280/-377)
debian/libunity-scopes3.symbols (+41/-1)
doc/tutorial.dox (+1/-1)
include/unity/scopes/CannedQuery.h (+27/-1)
include/unity/scopes/DateTimePickerFilter.h (+211/-0)
include/unity/scopes/Result.h (+2/-2)
include/unity/scopes/Scope.h (+20/-0)
include/unity/scopes/ScopeBase.h (+4/-6)
include/unity/scopes/SearchMetadata.h (+7/-0)
include/unity/scopes/SearchQueryBase.h (+15/-1)
include/unity/scopes/Variant.h (+5/-1)
include/unity/scopes/internal/' (+0/-59)
include/unity/scopes/internal/CannedQueryImpl.h (+6/-2)
include/unity/scopes/internal/DateTimePickerFilterImpl.h (+88/-0)
include/unity/scopes/internal/DfltConfig.h.in (+3/-0)
include/unity/scopes/internal/QueryCtrlObject.h (+1/-1)
include/unity/scopes/internal/QueryObject.h (+1/-1)
include/unity/scopes/internal/RuntimeImpl.h (+1/-0)
include/unity/scopes/internal/ScopeImpl.h (+8/-0)
include/unity/scopes/internal/SearchMetadataImpl.h (+1/-0)
include/unity/scopes/internal/SearchQueryBaseImpl.h (+3/-0)
include/unity/scopes/internal/SearchReplyImpl.h (+1/-1)
include/unity/scopes/internal/smartscopes/SSQueryCtrlObject.h (+1/-1)
include/unity/scopes/qt/HttpAsyncReader.h (+18/-17)
include/unity/scopes/qt/JsonAsyncReader.h (+17/-16)
include/unity/scopes/qt/JsonReader.h (+11/-10)
include/unity/scopes/qt/QActionMetadata.h (+5/-1)
include/unity/scopes/qt/QCannedQuery.h (+19/-0)
include/unity/scopes/qt/QCategorisedResult.h (+4/-0)
include/unity/scopes/qt/QCategory.h (+4/-0)
include/unity/scopes/qt/QColumnLayout.h (+4/-0)
include/unity/scopes/qt/QDepartment.h (+5/-3)
include/unity/scopes/qt/QPreviewQueryBase.h (+4/-1)
include/unity/scopes/qt/QPreviewQueryBaseAPI.h (+13/-0)
include/unity/scopes/qt/QPreviewReply.h (+4/-1)
include/unity/scopes/qt/QPreviewReplyProxy.h (+4/-0)
include/unity/scopes/qt/QPreviewWidget.h (+4/-0)
include/unity/scopes/qt/QResult.h (+4/-1)
include/unity/scopes/qt/QScopeBase.h (+16/-15)
include/unity/scopes/qt/QScopeBaseAPI.h (+4/-5)
include/unity/scopes/qt/QSearchMetadata.h (+11/-1)
include/unity/scopes/qt/QSearchQueryBase.h (+5/-2)
include/unity/scopes/qt/QSearchQueryBaseAPI.h (+13/-1)
include/unity/scopes/qt/QSearchReply.h (+4/-1)
include/unity/scopes/qt/QSearchReplyProxy.h (+4/-0)
include/unity/scopes/qt/QVariantBuilder.h (+11/-6)
include/unity/scopes/qt/XmlAsyncReader.h (+17/-16)
include/unity/scopes/qt/XmlReader.h (+11/-10)
include/unity/scopes/qt/internal/QActionMetadataImpl.h (+5/-71)
include/unity/scopes/qt/internal/QCannedQueryImpl.h (+2/-0)
include/unity/scopes/qt/internal/QCategorisedResultImpl.h (+1/-22)
include/unity/scopes/qt/internal/QCategoryImpl.h (+0/-27)
include/unity/scopes/qt/internal/QColumnLayoutImpl.h (+2/-45)
include/unity/scopes/qt/internal/QPreviewQueryBaseImpl.h (+0/-13)
include/unity/scopes/qt/internal/QPreviewReplyImpl.h (+3/-32)
include/unity/scopes/qt/internal/QPreviewWidgetImpl.h (+1/-110)
include/unity/scopes/qt/internal/QResultImpl.h (+0/-155)
include/unity/scopes/qt/internal/QScopeBaseAPIImpl.h (+4/-37)
include/unity/scopes/qt/internal/QScopeBaseImpl.h (+1/-9)
include/unity/scopes/qt/internal/QScopeVariant.h (+0/-4)
include/unity/scopes/qt/internal/QSearchMetadataImpl.h (+3/-89)
include/unity/scopes/qt/internal/QSearchQueryBaseImpl.h (+0/-26)
include/unity/scopes/qt/internal/QSearchReplyImpl.h (+1/-80)
include/unity/scopes/qt/internal/QUtils.h (+9/-8)
include/unity/scopes/testing/MockPreviewReply.h (+5/-3)
include/unity/scopes/testing/MockScope.h (+7/-0)
include/unity/scopes/testing/MockSearchReply.h (+6/-3)
include/unity/scopes/testing/TypedScopeFixture.h (+10/-1)
include/unity/scopes/utility/internal/BufferedSearchReplyImpl.h (+1/-1)
src/scopes/CMakeLists.txt (+1/-0)
src/scopes/CannedQuery.cpp (+15/-0)
src/scopes/DateTimePickerFilter.cpp (+125/-0)
src/scopes/PreviewWidget.cpp (+8/-1)
src/scopes/SearchMetadata.cpp (+5/-0)
src/scopes/SearchQueryBase.cpp (+62/-40)
src/scopes/Variant.cpp (+24/-1)
src/scopes/internal/CMakeLists.txt (+1/-0)
src/scopes/internal/CannedQueryImpl.cpp (+74/-1)
src/scopes/internal/DateTimePickerFilterImpl.cpp (+268/-0)
src/scopes/internal/FilterBaseImpl.cpp (+5/-0)
src/scopes/internal/IniSettingsSchema.cpp (+4/-3)
src/scopes/internal/JsonSettingsSchema.cpp (+3/-2)
src/scopes/internal/LocationImpl.cpp (+1/-0)
src/scopes/internal/Logger.cpp (+26/-26)
src/scopes/internal/QueryCtrlObject.cpp (+1/-1)
src/scopes/internal/QueryObject.cpp (+2/-2)
src/scopes/internal/RuntimeImpl.cpp (+5/-0)
src/scopes/internal/ScopeImpl.cpp (+18/-0)
src/scopes/internal/SearchMetadataImpl.cpp (+5/-0)
src/scopes/internal/SearchQueryBaseImpl.cpp (+88/-2)
src/scopes/internal/SettingsDB.cpp (+0/-1)
src/scopes/internal/smartscopes/SSQueryCtrlObject.cpp (+1/-1)
src/scopes/internal/zmq_middleware/ObjectAdapter.cpp (+0/-6)
src/scopes/internal/zmq_middleware/VariantConverter.cpp (+9/-0)
src/scopes/internal/zmq_middleware/capnproto/ValueDict.capnp (+1/-0)
src/scopes/qt/CMakeLists.txt (+35/-33)
src/scopes/qt/HttpAsyncReader.cpp (+0/-2)
src/scopes/qt/JsonAsyncReader.cpp (+0/-1)
src/scopes/qt/JsonReader.cpp (+0/-1)
src/scopes/qt/QActionMetadata.cpp (+1/-1)
src/scopes/qt/QCannedQuery.cpp (+10/-0)
src/scopes/qt/QPreviewQueryBaseAPI.cpp (+6/-3)
src/scopes/qt/QPreviewWidget.cpp (+1/-1)
src/scopes/qt/QResult.cpp (+1/-7)
src/scopes/qt/QSearchMetadata.cpp (+5/-1)
src/scopes/qt/QSearchQueryBaseAPI.cpp (+10/-4)
src/scopes/qt/QVariantBuilder.cpp (+5/-0)
src/scopes/qt/XmlAsyncReader.cpp (+0/-1)
src/scopes/qt/XmlReader.cpp (+0/-1)
src/scopes/qt/internal/QActionMetadataImpl.cpp (+5/-6)
src/scopes/qt/internal/QCannedQueryImpl.cpp (+12/-2)
src/scopes/qt/internal/QCategoryImpl.cpp (+2/-2)
src/scopes/qt/internal/QColumnLayoutImpl.cpp (+2/-3)
src/scopes/qt/internal/QDepartmentImpl.cpp (+5/-5)
src/scopes/qt/internal/QPreviewReplyImpl.cpp (+2/-3)
src/scopes/qt/internal/QPreviewWidgetImpl.cpp (+4/-4)
src/scopes/qt/internal/QResultImpl.cpp (+8/-49)
src/scopes/qt/internal/QScopeBaseAPIImpl.cpp (+25/-30)
src/scopes/qt/internal/QScopeVariant.cpp (+6/-6)
src/scopes/qt/internal/QSearchMetadataImpl.cpp (+11/-5)
src/scopes/qt/internal/QUtils.cpp (+30/-15)
src/scopes/qt/internal/QVariantBuilderImpl.cpp (+5/-9)
src/scopes/utility/internal/BufferedSearchReplyImpl.cpp (+1/-1)
test/gtest/scopes/Aggregation/LoopDetection_test.cpp (+1/-2)
test/gtest/scopes/Aggregation/Runtime.ini.in (+1/-0)
test/gtest/scopes/CMakeLists.txt (+7/-5)
test/gtest/scopes/CannedQuery/CannedQuery_test.cpp (+74/-4)
test/gtest/scopes/CategorisedResult/CategorisedResult_test.cpp (+8/-8)
test/gtest/scopes/DateTimePickerFilter/CMakeLists.txt (+4/-0)
test/gtest/scopes/DateTimePickerFilter/DateTimePickerFilter_test.cpp (+125/-0)
test/gtest/scopes/Location/Location_test.cpp (+44/-0)
test/gtest/scopes/StripLocation/CMakeLists.txt (+20/-0)
test/gtest/scopes/StripLocation/Runtime.ini.in (+8/-0)
test/gtest/scopes/StripLocation/StripLocation_test.cpp (+240/-0)
test/gtest/scopes/StripLocation/TestRegistry.ini.in (+7/-0)
test/gtest/scopes/StripLocation/Zmq.ini.in (+2/-0)
test/gtest/scopes/StripLocation/scopes/Aggregator/Aggregator.cpp (+134/-0)
test/gtest/scopes/StripLocation/scopes/Aggregator/Aggregator.ini.in (+5/-0)
test/gtest/scopes/StripLocation/scopes/Aggregator/CMakeLists.txt (+2/-0)
test/gtest/scopes/StripLocation/scopes/CMakeLists.txt (+2/-0)
test/gtest/scopes/StripLocation/scopes/Leaf/CMakeLists.txt (+2/-0)
test/gtest/scopes/StripLocation/scopes/Leaf/Leaf.cpp (+98/-0)
test/gtest/scopes/StripLocation/scopes/Leaf/Leaf.ini.in (+5/-0)
test/gtest/scopes/ThrowingScope/ThrowingScope.cpp (+7/-7)
test/gtest/scopes/Variant/Variant_test.cpp (+7/-0)
test/gtest/scopes/internal/RegistryObject/RegistryObject_test.cpp (+6/-0)
test/gtest/scopes/internal/zmq_middleware/VariantConverter/VariantConverter_test.cpp (+2/-0)
test/gtest/scopes/qt/CMakeLists.txt (+2/-0)
test/gtest/scopes/qt/JsonAsyncReader/JsonAsyncReader_test.cpp (+1/-6)
test/gtest/scopes/qt/XmlAsyncReader/XmlAsyncReader_test.cpp (+1/-4)
test/gtest/scopes/qt/qt-bindings/BasicEventsChecker.h (+129/-0)
test/gtest/scopes/qt/qt-bindings/CMakeLists.txt (+38/-0)
test/gtest/scopes/qt/qt-bindings/FakeScope.h (+3/-5)
test/gtest/scopes/qt/qt-bindings/QActionMetadata_test.cpp (+3/-3)
test/gtest/scopes/qt/qt-bindings/QCannedQuery_test.cpp (+31/-7)
test/gtest/scopes/qt/qt-bindings/QCategorisedResult_test.cpp (+143/-6)
test/gtest/scopes/qt/qt-bindings/QColumnLayout_test.cpp (+38/-9)
test/gtest/scopes/qt/qt-bindings/QDepartment_test.cpp (+55/-9)
test/gtest/scopes/qt/qt-bindings/QEventTypeMatcher.h (+11/-8)
test/gtest/scopes/qt/qt-bindings/QMockScope.h (+14/-9)
test/gtest/scopes/qt/qt-bindings/QPreviewQueryBaseAPI_test.cpp (+104/-47)
test/gtest/scopes/qt/qt-bindings/QPreviewWidget_test.cpp (+117/-0)
test/gtest/scopes/qt/qt-bindings/QScopeBaseAPIImpl_test.cpp (+17/-19)
test/gtest/scopes/qt/qt-bindings/QScopeBaseAPIMock.h (+3/-3)
test/gtest/scopes/qt/qt-bindings/QScopeCreation_test.cpp (+18/-8)
test/gtest/scopes/qt/qt-bindings/QSearchMetadata_test.cpp (+3/-3)
test/gtest/scopes/qt/qt-bindings/QSearchQueryBaseAPI_test.cpp (+85/-28)
test/gtest/scopes/qt/qt-bindings/QUtils_test.cpp (+167/-0)
test/gtest/scopes/qt/qt-bindings/QVariantBuilder_test.cpp (+45/-7)
test/gtest/scopes/qt/qt-bindings/TestSetup.h (+25/-24)
test/gtest/scopes/testing/CMakeLists.txt (+4/-4)
test/headers/CMakeLists.txt (+2/-2)
test/headers/compile_headers.py (+1/-2)
tools/symbol_diff.in (+67/-28)
To merge this branch: bzr merge lp:unity-scopes-api/staging
Reviewer Review Type Date Requested Status
Michi Henning (community) Approve
Review via email: mp+255812@code.launchpad.net

Description of the change

Merged devel.

To post a comment you must log in.
Revision history for this message
Michi Henning (michihenning) wrote :

The diff is a little large to do it justice :-)

For what it's worth, it builds and tests OK locally for me. If there is something broken in this (which I doubt), we'll find out soon enough...

review: Approve
lp:unity-scopes-api/staging updated
279. By Paweł Stołowski

Updated symbols.

280. By Paweł Stołowski

Merged devel.

281. By Paweł Stołowski

Updated symbols for arm64.

282. By Paweł Stołowski

Merged devel.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2015-03-25 06:31:32 +0000
3+++ CMakeLists.txt 2015-04-10 18:54:31 +0000
4@@ -227,7 +227,7 @@
5 # API version
6 set(UNITY_SCOPES_MAJOR 0)
7 set(UNITY_SCOPES_MINOR 6)
8-set(UNITY_SCOPES_MICRO 15)
9+set(UNITY_SCOPES_MICRO 16)
10 set(UNITY_SCOPES_SOVERSION 3)
11
12 # Version for testing, with all symbols visible
13
14=== modified file 'CTestCustom.cmake.in'
15--- CTestCustom.cmake.in 2014-07-25 05:54:44 +0000
16+++ CTestCustom.cmake.in 2015-04-10 18:54:31 +0000
17@@ -12,8 +12,14 @@
18 stand-alone-unity-scopes-headers
19 stand-alone-unity-scopes-internal-headers
20 stand-alone-unity-scopes-testing-headers
21+ stand-alone-unity-scopes-utility-headers
22+ stand-alone-unity-scopes-utility-internal-headers
23+ stand-alone-unity-scopes-qt-headers
24+ stand-alone-unity-scopes-qt-internal-headers
25 clean-public-unity-scopes-headers
26 clean-public-unity-scopes-testing-headers
27+ clean-public-unity-scopes-utility-headers
28+ clean-public-unity-scopes-qt-headers
29 IsolatedScopeBenchmark # Runs too slowly and crashes valgrind 3.10.0 with g++-4.9
30 copyright
31 whitespace)
32
33=== modified file 'HACKING'
34--- HACKING 2015-01-27 09:38:24 +0000
35+++ HACKING 2015-04-10 18:54:31 +0000
36@@ -49,6 +49,31 @@
37
38 $ make valgrind
39
40+It doesn't make sense for some tests to run them with valgrind. For
41+example, the header compilation tests don't need valgrind because
42+we'd just be testing that Python doesn't leak. There are also some
43+tests that run too slow and time out under valgrind and, occasionally,
44+valgrind crashes for a particular test.
45+
46+There are two ways to suppress tests:
47+
48+You can add a test name to CTestCustom.cmake.in to suppress that
49+test completely. That makes sense for the header compilation tests,
50+for example.
51+
52+If a specific test case in a test program causes a valgrind problem,
53+you can selectively disable a section of code like this:
54+
55+ #include <valgrind/valgrind.h>
56+
57+ if (!RUNNING_ON_VALGRIND)
58+ {
59+ // Code here crashes valgrind...
60+ }
61+
62+That way, the test will still be run as part of the normal "make test"
63+target, but will be ommitted when running "make valgrind".
64+
65 Coverage
66 --------
67
68@@ -143,6 +168,17 @@
69
70 $ TSAN_OPTIONS="suppressions=../tsan-suppress" make test
71
72+If a test runs too slowly under address sanitizer, you can
73+hide a section of code from address sanitzer with:
74+
75+#if defined(__has_feature)
76+ #if !__has_feature(address_sanitizer)
77+
78+ // Code here takes forever under address sanitizer...
79+
80+ #endif
81+#endif
82+
83 Updating symbols file
84 ---------------------
85
86
87=== modified file 'README'
88--- README 2014-05-27 17:28:51 +0000
89+++ README 2015-04-10 18:54:31 +0000
90@@ -313,7 +313,7 @@
91 care of returning an exception to the client.
92
93 The concrete servant method called by dispatch_ (such as
94-ScopeI::create_query) now unmarshals any in-parameters, translates them to
95+ScopeI::search) now unmarshals any in-parameters, translates them to
96 the middleware-independent equivalents, forwards the invocation to the
97 middleware-independent servant, and translates and marshals any return
98 values or exceptions.
99
100=== modified file 'RELEASE_NOTES.md'
101--- RELEASE_NOTES.md 2015-04-01 13:24:17 +0000
102+++ RELEASE_NOTES.md 2015-04-10 18:54:31 +0000
103@@ -1,6 +1,14 @@
104 Release notes
105 =============
106
107+Changes in version 0.6.16
108+=========================
109+ - Added support for attaching arbitrary data to CannedQuery.
110+ - Added _ENABLE_QT_EXPERIMENTAL_ guard to qt headers until that library
111+ is finalized. Further changes in the unity::scopes::qt namespace are
112+ expected at this point.
113+ - Added DateTimePickerFilter into experimental namespace.
114+
115 Changes in version 0.6.15
116 =========================
117 - Renamed "child_scopes()" to "find_child_scopes()"
118
119=== modified file 'STRUCTS'
120--- STRUCTS 2015-01-28 09:03:59 +0000
121+++ STRUCTS 2015-04-10 18:54:31 +0000
122@@ -177,3 +177,11 @@
123 ========================================
124 all QueryMetadata attributes
125 'scope_data' : variant
126+
127+CannedQuery (returned by serialize())
128+=====================================
129+ 'scope' : string
130+ 'query_string' : string
131+ 'department_id' : string
132+ 'filter_state' : variant
133+ 'data' : variant (optional)
134
135=== modified file 'debian/changelog'
136--- debian/changelog 2015-04-07 06:33:09 +0000
137+++ debian/changelog 2015-04-10 18:54:31 +0000
138@@ -1,3 +1,13 @@
139+unity-scopes-api (0.6.16-0ubuntu1) UNRELEASED; urgency=medium
140+
141+ * Added support for attaching arbitrary data to CannedQuery.
142+ * Added _ENABLE_QT_EXPERIMENTAL_ guard to qt headers until that library
143+ is finalized. Further changes in the unity::scopes::qt namespace are
144+ expected at this point.
145+ * Added DateTimePickerFilter into experimental namespace.
146+
147+ -- Pawel Stolowski <pawel.stolowski@canonical.com> Fri, 10 Apr 2015 09:19:56 +0200
148+
149 unity-scopes-api (0.6.15+15.04.20150407-0ubuntu1) vivid; urgency=medium
150
151 [ Marcus Tomlinson ]
152
153=== removed file 'debian/libunity-scopes-qt-dev.debhelper.log'
154--- debian/libunity-scopes-qt-dev.debhelper.log 2015-01-26 14:13:31 +0000
155+++ debian/libunity-scopes-qt-dev.debhelper.log 1970-01-01 00:00:00 +0000
156@@ -1,4 +0,0 @@
157-override_dh_auto_configure dh_auto_configure
158-dh_auto_configure
159-dh_auto_build
160-dh_auto_test
161
162=== removed file 'debian/libunity-scopes-qt-doc.debhelper.log'
163--- debian/libunity-scopes-qt-doc.debhelper.log 2015-01-26 14:13:31 +0000
164+++ debian/libunity-scopes-qt-doc.debhelper.log 1970-01-01 00:00:00 +0000
165@@ -1,4 +0,0 @@
166-override_dh_auto_configure dh_auto_configure
167-dh_auto_configure
168-dh_auto_build
169-dh_auto_test
170
171=== removed file 'debian/libunity-scopes-qt.debhelper.log'
172--- debian/libunity-scopes-qt.debhelper.log 2015-01-26 14:13:31 +0000
173+++ debian/libunity-scopes-qt.debhelper.log 1970-01-01 00:00:00 +0000
174@@ -1,30 +0,0 @@
175-override_dh_auto_configure dh_auto_configure
176-dh_auto_configure
177-dh_auto_build
178-dh_auto_test
179-dh_prep
180-dh_auto_install
181-dh_install
182-override_dh_click dh_click
183-dh_click
184-dh_installdocs
185-dh_installchangelogs
186-dh_perl
187-dh_link
188-dh_compress
189-dh_fixperms
190-dh_strip
191-dh_makeshlibs
192-dh_shlibdeps
193-dh_installdeb
194-dh_gencontrol
195-dh_md5sums
196-dh_builddeb
197-dh_builddeb
198-dh_builddeb
199-dh_builddeb
200-dh_builddeb
201-dh_builddeb
202-dh_builddeb
203-dh_builddeb
204-dh_auto_test
205
206=== modified file 'debian/libunity-scopes-qt.symbols'
207--- debian/libunity-scopes-qt.symbols 2015-02-05 14:57:23 +0000
208+++ debian/libunity-scopes-qt.symbols 2015-04-10 18:54:31 +0000
209@@ -1,411 +1,314 @@
210 libunity-scopes-qt.so.01 libunity-scopes-qt #MINVER#
211- (c++)"unity::scopes::qt::JsonReader::JsonReader()@Base" 0.6.13+15.04.20150205.1
212- (c++)"unity::scopes::qt::JsonReader::JsonReader()@Base" 0.6.13+15.04.20150205.1
213- (c++)"unity::scopes::qt::QScopeBase::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
214- (c++)"unity::scopes::qt::QScopeBase::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
215- (c++)"unity::scopes::qt::QScopeBase::staticMetaObject@Base" 0.6.13+15.04.20150205.1
216- (c++)"unity::scopes::qt::QScopeBase::stop()@Base" 0.6.13+15.04.20150205.1
217- (c++)"unity::scopes::qt::QScopeBase::start(QString const&)@Base" 0.6.13+15.04.20150205.1
218- (c++)"unity::scopes::qt::QScopeBase::QScopeBase(QObject*)@Base" 0.6.13+15.04.20150205.1
219- (c++)"unity::scopes::qt::QScopeBase::QScopeBase(QObject*)@Base" 0.6.13+15.04.20150205.1
220- (c++)"unity::scopes::qt::QScopeBase::~QScopeBase()@Base" 0.6.13+15.04.20150205.1
221- (c++)"unity::scopes::qt::QScopeBase::~QScopeBase()@Base" 0.6.13+15.04.20150205.1
222- (c++)"unity::scopes::qt::QScopeBase::~QScopeBase()@Base" 0.6.13+15.04.20150205.1
223- (c++)"unity::scopes::qt::QDepartment::add_subdepartment(std::shared_ptr<unity::scopes::qt::QDepartment const> const&)@Base" 0.6.13+15.04.20150205.1
224- (c++)"unity::scopes::qt::QDepartment::set_subdepartments(QList<QSharedPointer<unity::scopes::qt::QDepartment const> > const&)@Base" 0.6.13+15.04.20150205.1
225- (c++)"unity::scopes::qt::QDepartment::set_alternate_label(QString const&)@Base" 0.6.13+15.04.20150205.1
226- (c++)"unity::scopes::qt::QDepartment::set_has_subdepartments(bool)@Base" 0.6.13+15.04.20150205.1
227- (c++)"unity::scopes::qt::QDepartment::create(QString const&, unity::scopes::qt::QCannedQuery const&, QString const&)@Base" 0.6.13+15.04.20150205.1
228- (c++)"unity::scopes::qt::QDepartment::create(unity::scopes::qt::QCannedQuery const&, QString const&)@Base" 0.6.13+15.04.20150205.1
229- (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::QDepartment&&)@Base" 0.6.13+15.04.20150205.1
230- (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::internal::QDepartmentImpl*)@Base" 0.6.13+15.04.20150205.1
231- (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::QDepartment const&)@Base" 0.6.13+15.04.20150205.1
232- (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::QDepartment&&)@Base" 0.6.13+15.04.20150205.1
233- (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::internal::QDepartmentImpl*)@Base" 0.6.13+15.04.20150205.1
234- (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::QDepartment const&)@Base" 0.6.13+15.04.20150205.1
235- (c++)"unity::scopes::qt::QDepartment::~QDepartment()@Base" 0.6.13+15.04.20150205.1
236- (c++)"unity::scopes::qt::QDepartment::~QDepartment()@Base" 0.6.13+15.04.20150205.1
237- (c++)"unity::scopes::qt::QDepartment::operator=(unity::scopes::qt::QDepartment&&)@Base" 0.6.13+15.04.20150205.1
238- (c++)"unity::scopes::qt::QDepartment::operator=(unity::scopes::qt::QDepartment const&)@Base" 0.6.13+15.04.20150205.1
239- (c++)"unity::scopes::qt::QCannedQuery::set_filter_state(unity::scopes::FilterState const&)@Base" 0.6.13+15.04.20150205.1
240- (c++)"unity::scopes::qt::QCannedQuery::set_query_string(QString const&)@Base" 0.6.13+15.04.20150205.1
241- (c++)"unity::scopes::qt::QCannedQuery::set_department_id(QString const&)@Base" 0.6.13+15.04.20150205.1
242+ (c++)"typeinfo for unity::scopes::qt::CancelledEvent@Base" 0.6.13+15.04.20150205.1
243+ (c++)"typeinfo for unity::scopes::qt::HttpAsyncReader@Base" 0.6.13+15.04.20150205.1
244+ (c++)"typeinfo for unity::scopes::qt::InitializeEvent@Base" 0.6.13+15.04.20150205.1
245+ (c++)"typeinfo for unity::scopes::qt::JsonAsyncReader@Base" 0.6.13+15.04.20150205.1
246+ (c++)"typeinfo for unity::scopes::qt::QCategorisedResult@Base" 0.6.13+15.04.20150205.1
247+ (c++)"typeinfo for unity::scopes::qt::QCategory@Base" 0.6.13+15.04.20150205.1
248+ (c++)"typeinfo for unity::scopes::qt::QPreviewQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
249+ (c++)"typeinfo for unity::scopes::qt::QPreviewQueryBase@Base" 0.6.13+15.04.20150205.1
250+ (c++)"typeinfo for unity::scopes::qt::QPreviewReply@Base" 0.6.13+15.04.20150205.1
251+ (c++)"typeinfo for unity::scopes::qt::QPreviewWidget@Base" 0.6.13+15.04.20150205.1
252+ (c++)"typeinfo for unity::scopes::qt::QResult@Base" 0.6.13+15.04.20150205.1
253+ (c++)"typeinfo for unity::scopes::qt::QScopeBaseAPI@Base" 0.6.13+15.04.20150205.1
254+ (c++)"typeinfo for unity::scopes::qt::QScopeBase@Base" 0.6.13+15.04.20150205.1
255+ (c++)"typeinfo for unity::scopes::qt::QSearchQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
256+ (c++)"typeinfo for unity::scopes::qt::QSearchQueryBase@Base" 0.6.13+15.04.20150205.1
257+ (c++)"typeinfo for unity::scopes::qt::QSearchReply@Base" 0.6.13+15.04.20150205.1
258+ (c++)"typeinfo for unity::scopes::qt::QVariantBuilder@Base" 0.6.13+15.04.20150205.1
259+ (c++)"typeinfo for unity::scopes::qt::RunEvent@Base" 0.6.13+15.04.20150205.1
260+ (c++)"typeinfo for unity::scopes::qt::XmlAsyncReader@Base" 0.6.13+15.04.20150205.1
261+ (c++)"typeinfo name for unity::scopes::qt::CancelledEvent@Base" 0.6.13+15.04.20150205.1
262+ (c++)"typeinfo name for unity::scopes::qt::HttpAsyncReader@Base" 0.6.13+15.04.20150205.1
263+ (c++)"typeinfo name for unity::scopes::qt::InitializeEvent@Base" 0.6.13+15.04.20150205.1
264+ (c++)"typeinfo name for unity::scopes::qt::JsonAsyncReader@Base" 0.6.13+15.04.20150205.1
265+ (c++)"typeinfo name for unity::scopes::qt::QCategorisedResult@Base" 0.6.13+15.04.20150205.1
266+ (c++)"typeinfo name for unity::scopes::qt::QCategory@Base" 0.6.13+15.04.20150205.1
267+ (c++)"typeinfo name for unity::scopes::qt::QPreviewQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
268+ (c++)"typeinfo name for unity::scopes::qt::QPreviewQueryBase@Base" 0.6.13+15.04.20150205.1
269+ (c++)"typeinfo name for unity::scopes::qt::QPreviewReply@Base" 0.6.13+15.04.20150205.1
270+ (c++)"typeinfo name for unity::scopes::qt::QPreviewWidget@Base" 0.6.13+15.04.20150205.1
271+ (c++)"typeinfo name for unity::scopes::qt::QResult@Base" 0.6.13+15.04.20150205.1
272+ (c++)"typeinfo name for unity::scopes::qt::QScopeBaseAPI@Base" 0.6.13+15.04.20150205.1
273+ (c++)"typeinfo name for unity::scopes::qt::QScopeBase@Base" 0.6.13+15.04.20150205.1
274+ (c++)"typeinfo name for unity::scopes::qt::QSearchQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
275+ (c++)"typeinfo name for unity::scopes::qt::QSearchQueryBase@Base" 0.6.13+15.04.20150205.1
276+ (c++)"typeinfo name for unity::scopes::qt::QSearchReply@Base" 0.6.13+15.04.20150205.1
277+ (c++)"typeinfo name for unity::scopes::qt::QVariantBuilder@Base" 0.6.13+15.04.20150205.1
278+ (c++)"typeinfo name for unity::scopes::qt::RunEvent@Base" 0.6.13+15.04.20150205.1
279+ (c++)"typeinfo name for unity::scopes::qt::XmlAsyncReader@Base" 0.6.13+15.04.20150205.1
280+ (c++)"unity::scopes::qt::CancelledEvent::~CancelledEvent()@Base" 0.6.13+15.04.20150205.1
281+ (c++)"unity::scopes::qt::HttpAsyncReader::async_execute(core::net::http::Request::Handler const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.6.13+15.04.20150205.1
282+ (c++)"unity::scopes::qt::HttpAsyncReader::get_uri(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.6.13+15.04.20150205.1
283+ (c++)"unity::scopes::qt::HttpAsyncReader::~HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
284+ (c++)"unity::scopes::qt::HttpAsyncReader::HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
285+ (c++)"unity::scopes::qt::HttpAsyncReader::Priv::~Priv()@Base" 0.6.13+15.04.20150205.1
286+ (c++)"unity::scopes::qt::HttpAsyncReader::progress_report(core::net::http::Request::Progress const&) const@Base" 0.6.13+15.04.20150205.1
287+ (c++)"unity::scopes::qt::InitializeEvent::~InitializeEvent()@Base" 0.6.13+15.04.20150205.1
288+ (c++)"unity::scopes::qt::JsonAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.6.13+15.04.20150205.1
289+ (c++)"unity::scopes::qt::JsonAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.6.13+15.04.20150205.1
290+ (c++)"unity::scopes::qt::JsonAsyncReader::create_parser_with_data(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.6.13+15.04.20150205.1
291+ (c++)"unity::scopes::qt::JsonAsyncReader::~JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
292+ (c++)"unity::scopes::qt::JsonAsyncReader::JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
293+ (c++)"unity::scopes::qt::JsonReader::JsonReader()@Base" 0.6.13+15.04.20150205.1
294+ (c++)"unity::scopes::qt::JsonReader::read(QString const&, QVector<QPair<QString, QString> > const&) const@Base" 0.6.13+15.04.20150205.1
295+ (c++)"unity::scopes::qt::JsonReader::read(QUrl const&) const@Base" 0.6.13+15.04.20150205.1
296+ (c++)"unity::scopes::qt::QActionMetadata::contains_hint(QString const&) const@Base" 0.6.13+15.04.20150205.1
297+ (c++)"unity::scopes::qt::QActionMetadata::hints() const@Base" 0.6.13+15.04.20150205.1
298+ (c++)"unity::scopes::qt::QActionMetadata::operator[](QString const&)@Base" 0.6.13+15.04.20150205.1
299+ (c++)"unity::scopes::qt::QActionMetadata::operator[](QString const&) const@Base" 0.6.13+15.04.20150205.1
300+ (c++)"unity::scopes::qt::QActionMetadata::operator=(unity::scopes::qt::QActionMetadata&&)@Base" 0.6.13+15.04.20150205.1
301+ (c++)"unity::scopes::qt::QActionMetadata::operator=(unity::scopes::qt::QActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
302+ (c++)"unity::scopes::qt::QActionMetadata::~QActionMetadata()@Base" 0.6.13+15.04.20150205.1
303+ (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
304+ (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::internal::QActionMetadataImpl*)@Base" 0.6.13+15.04.20150205.1
305+ (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::QActionMetadata&&)@Base" 0.6.13+15.04.20150205.1
306+ (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::QActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
307+ (c++)"unity::scopes::qt::QActionMetadata::scope_data() const@Base" 0.6.13+15.04.20150205.1
308+ (c++)"unity::scopes::qt::QActionMetadata::set_hint(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
309+ (c++)"unity::scopes::qt::QActionMetadata::set_scope_data(QVariant const&)@Base" 0.6.13+15.04.20150205.1
310+ (c++)"unity::scopes::qt::QCannedQuery::department_id() const@Base" 0.6.13+15.04.20150205.1
311+ (c++)"unity::scopes::qt::QCannedQuery::filter_state() const@Base" 0.6.13+15.04.20150205.1
312 (c++)"unity::scopes::qt::QCannedQuery::from_uri(QString const&)@Base" 0.6.13+15.04.20150205.1
313- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::QCannedQuery&&)@Base" 0.6.13+15.04.20150205.1
314- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::internal::QCannedQueryImpl*)@Base" 0.6.13+15.04.20150205.1
315- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(QString const&)@Base" 0.6.13+15.04.20150205.1
316- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(QString const&, QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
317- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::CannedQuery const&)@Base" 0.6.13+15.04.20150205.1
318- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::QCannedQuery const&)@Base" 0.6.13+15.04.20150205.1
319- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::QCannedQuery&&)@Base" 0.6.13+15.04.20150205.1
320- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::internal::QCannedQueryImpl*)@Base" 0.6.13+15.04.20150205.1
321- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(QString const&)@Base" 0.6.13+15.04.20150205.1
322- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(QString const&, QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
323- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::CannedQuery const&)@Base" 0.6.13+15.04.20150205.1
324- (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::QCannedQuery const&)@Base" 0.6.13+15.04.20150205.1
325- (c++)"unity::scopes::qt::QCannedQuery::~QCannedQuery()@Base" 0.6.13+15.04.20150205.1
326- (c++)"unity::scopes::qt::QCannedQuery::~QCannedQuery()@Base" 0.6.13+15.04.20150205.1
327+ (c++)"unity::scopes::qt::QCannedQuery::has_user_data() const@Base" 0replaceme
328 (c++)"unity::scopes::qt::QCannedQuery::operator=(unity::scopes::qt::QCannedQuery&&)@Base" 0.6.13+15.04.20150205.1
329 (c++)"unity::scopes::qt::QCannedQuery::operator=(unity::scopes::qt::QCannedQuery const&)@Base" 0.6.13+15.04.20150205.1
330- (c++)"unity::scopes::qt::QSearchReply::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
331- (c++)"unity::scopes::qt::QSearchReply::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
332- (c++)"unity::scopes::qt::QSearchReply::staticMetaObject@Base" 0.6.13+15.04.20150205.1
333- (c++)"unity::scopes::qt::QSearchReply::register_category(QString const&, QString const&, QString const&, unity::scopes::CategoryRenderer const&)@Base" 0.6.13+15.04.20150205.1
334- (c++)"unity::scopes::qt::QSearchReply::register_departments(std::shared_ptr<unity::scopes::qt::QDepartment const> const&)@Base" 0.6.13+15.04.20150205.1
335- (c++)"unity::scopes::qt::QSearchReply::push(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
336- (c++)"unity::scopes::qt::QSearchReply::error(std::__exception_ptr::exception_ptr)@Base" 0.6.13+15.04.20150205.1
337- (c++)"unity::scopes::qt::QSearchReply::QSearchReply(std::shared_ptr<unity::scopes::SearchReply>&, QObject*)@Base" 0.6.13+15.04.20150205.1
338- (c++)"unity::scopes::qt::QSearchReply::QSearchReply(std::shared_ptr<unity::scopes::SearchReply>&, QObject*)@Base" 0.6.13+15.04.20150205.1
339- (c++)"unity::scopes::qt::QSearchReply::~QSearchReply()@Base" 0.6.13+15.04.20150205.1
340- (c++)"unity::scopes::qt::QSearchReply::~QSearchReply()@Base" 0.6.13+15.04.20150205.1
341- (c++)"unity::scopes::qt::QSearchReply::~QSearchReply()@Base" 0.6.13+15.04.20150205.1
342+ (c++)"unity::scopes::qt::QCannedQuery::~QCannedQuery()@Base" 0.6.13+15.04.20150205.1
343+ (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(QString const&)@Base" 0.6.13+15.04.20150205.1
344+ (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(QString const&, QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
345+ (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::CannedQuery const&)@Base" 0.6.13+15.04.20150205.1
346+ (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::internal::QCannedQueryImpl*)@Base" 0.6.13+15.04.20150205.1
347+ (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::QCannedQuery&&)@Base" 0.6.13+15.04.20150205.1
348+ (c++)"unity::scopes::qt::QCannedQuery::QCannedQuery(unity::scopes::qt::QCannedQuery const&)@Base" 0.6.13+15.04.20150205.1
349+ (c++)"unity::scopes::qt::QCannedQuery::query_string() const@Base" 0.6.13+15.04.20150205.1
350+ (c++)"unity::scopes::qt::QCannedQuery::scope_id() const@Base" 0.6.13+15.04.20150205.1
351+ (c++)"unity::scopes::qt::QCannedQuery::serialize() const@Base" 0.6.13+15.04.20150205.1
352+ (c++)"unity::scopes::qt::QCannedQuery::set_department_id(QString const&)@Base" 0.6.13+15.04.20150205.1
353+ (c++)"unity::scopes::qt::QCannedQuery::set_filter_state(unity::scopes::FilterState const&)@Base" 0.6.13+15.04.20150205.1
354+ (c++)"unity::scopes::qt::QCannedQuery::set_query_string(QString const&)@Base" 0.6.13+15.04.20150205.1
355+ (c++)"unity::scopes::qt::QCannedQuery::to_uri() const@Base" 0.6.13+15.04.20150205.1
356+ (c++)"unity::scopes::qt::QCannedQuery::user_data() const@Base" 0replaceme
357+ (c++)"unity::scopes::qt::QCategorisedResult::category() const@Base" 0.6.13+15.04.20150205.1
358+ (c++)"unity::scopes::qt::QCategorisedResult::fwd() const@Base" 0.6.13+15.04.20150205.1
359+ (c++)"unity::scopes::qt::QCategorisedResult::operator=(unity::scopes::qt::QCategorisedResult&&)@Base" 0.6.13+15.04.20150205.1
360+ (c++)"unity::scopes::qt::QCategorisedResult::operator=(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
361+ (c++)"unity::scopes::qt::QCategorisedResult::~QCategorisedResult()@Base" 0.6.13+15.04.20150205.1
362+ (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(std::shared_ptr<unity::scopes::qt::QCategory const>)@Base" 0.6.13+15.04.20150205.1
363+ (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(unity::scopes::qt::QCategorisedResult&&)@Base" 0.6.13+15.04.20150205.1
364+ (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
365+ (c++)"unity::scopes::qt::QCategorisedResult::set_category(std::shared_ptr<unity::scopes::qt::QCategory const>)@Base" 0.6.13+15.04.20150205.1
366+ (c++)"unity::scopes::qt::QCategory::icon() const@Base" 0.6.13+15.04.20150205.1
367+ (c++)"unity::scopes::qt::QCategory::id() const@Base" 0.6.13+15.04.20150205.1
368+ (c++)"unity::scopes::qt::QCategory::~QCategory()@Base" 0.6.13+15.04.20150205.1
369+ (c++)"unity::scopes::qt::QCategory::QCategory(std::shared_ptr<unity::scopes::Category const>)@Base" 0.6.13+15.04.20150205.1
370+ (c++)"unity::scopes::qt::QCategory::QCategory(unity::scopes::qt::internal::QCategoryImpl*)@Base" 0.6.13+15.04.20150205.1
371+ (c++)"unity::scopes::qt::QCategory::query() const@Base" 0.6.13+15.04.20150205.1
372+ (c++)"unity::scopes::qt::QCategory::renderer_template() const@Base" 0.6.13+15.04.20150205.1
373+ (c++)"unity::scopes::qt::QCategory::serialize() const@Base" 0.6.13+15.04.20150205.1
374+ (c++)"unity::scopes::qt::QCategory::title() const@Base" 0.6.13+15.04.20150205.1
375 (c++)"unity::scopes::qt::QColumnLayout::add_column(QVector<QString>)@Base" 0.6.13+15.04.20150205.1
376- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::QColumnLayout&&)@Base" 0.6.13+15.04.20150205.1
377- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::internal::QColumnLayoutImpl*)@Base" 0.6.13+15.04.20150205.1
378- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::QColumnLayout const&)@Base" 0.6.13+15.04.20150205.1
379- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(int)@Base" 0.6.13+15.04.20150205.1
380- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::QColumnLayout&&)@Base" 0.6.13+15.04.20150205.1
381- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::internal::QColumnLayoutImpl*)@Base" 0.6.13+15.04.20150205.1
382- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::QColumnLayout const&)@Base" 0.6.13+15.04.20150205.1
383- (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(int)@Base" 0.6.13+15.04.20150205.1
384- (c++)"unity::scopes::qt::QColumnLayout::~QColumnLayout()@Base" 0.6.13+15.04.20150205.1
385- (c++)"unity::scopes::qt::QColumnLayout::~QColumnLayout()@Base" 0.6.13+15.04.20150205.1
386+ (c++)"unity::scopes::qt::QColumnLayout::column(int) const@Base" 0.6.13+15.04.20150205.1
387+ (c++)"unity::scopes::qt::QColumnLayout::number_of_columns() const@Base" 0.6.13+15.04.20150205.1
388 (c++)"unity::scopes::qt::QColumnLayout::operator=(unity::scopes::qt::QColumnLayout&&)@Base" 0.6.13+15.04.20150205.1
389 (c++)"unity::scopes::qt::QColumnLayout::operator=(unity::scopes::qt::QColumnLayout const&)@Base" 0.6.13+15.04.20150205.1
390+ (c++)"unity::scopes::qt::QColumnLayout::~QColumnLayout()@Base" 0.6.13+15.04.20150205.1
391+ (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(int)@Base" 0.6.13+15.04.20150205.1
392+ (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::internal::QColumnLayoutImpl*)@Base" 0.6.13+15.04.20150205.1
393+ (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::QColumnLayout&&)@Base" 0.6.13+15.04.20150205.1
394+ (c++)"unity::scopes::qt::QColumnLayout::QColumnLayout(unity::scopes::qt::QColumnLayout const&)@Base" 0.6.13+15.04.20150205.1
395+ (c++)"unity::scopes::qt::QColumnLayout::serialize() const@Base" 0.6.13+15.04.20150205.1
396+ (c++)"unity::scopes::qt::QColumnLayout::size() const@Base" 0.6.13+15.04.20150205.1
397+ (c++)"unity::scopes::qt::QDepartment::add_subdepartment(std::shared_ptr<unity::scopes::qt::QDepartment const> const&)@Base" 0.6.13+15.04.20150205.1
398+ (c++)"unity::scopes::qt::QDepartment::alternate_label() const@Base" 0.6.13+15.04.20150205.1
399+ (c++)"unity::scopes::qt::QDepartment::create(QString const&, unity::scopes::qt::QCannedQuery const&, QString const&)@Base" 0.6.13+15.04.20150205.1
400+ (c++)"unity::scopes::qt::QDepartment::create(unity::scopes::qt::QCannedQuery const&, QString const&)@Base" 0.6.13+15.04.20150205.1
401+ (c++)"unity::scopes::qt::QDepartment::has_subdepartments() const@Base" 0.6.13+15.04.20150205.1
402+ (c++)"unity::scopes::qt::QDepartment::id() const@Base" 0.6.13+15.04.20150205.1
403+ (c++)"unity::scopes::qt::QDepartment::label() const@Base" 0.6.13+15.04.20150205.1
404+ (c++)"unity::scopes::qt::QDepartment::operator=(unity::scopes::qt::QDepartment&&)@Base" 0.6.13+15.04.20150205.1
405+ (c++)"unity::scopes::qt::QDepartment::operator=(unity::scopes::qt::QDepartment const&)@Base" 0.6.13+15.04.20150205.1
406+ (c++)"unity::scopes::qt::QDepartment::~QDepartment()@Base" 0.6.13+15.04.20150205.1
407+ (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::internal::QDepartmentImpl*)@Base" 0.6.13+15.04.20150205.1
408+ (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::QDepartment&&)@Base" 0.6.13+15.04.20150205.1
409+ (c++)"unity::scopes::qt::QDepartment::QDepartment(unity::scopes::qt::QDepartment const&)@Base" 0.6.13+15.04.20150205.1
410+ (c++)"unity::scopes::qt::QDepartment::query() const@Base" 0.6.13+15.04.20150205.1
411+ (c++)"unity::scopes::qt::QDepartment::serialize() const@Base" 0.6.13+15.04.20150205.1
412+ (c++)"unity::scopes::qt::QDepartment::set_alternate_label(QString const&)@Base" 0.6.13+15.04.20150205.1
413+ (c++)"unity::scopes::qt::QDepartment::set_has_subdepartments(bool)@Base" 0.6.13+15.04.20150205.1
414+ (c++)"unity::scopes::qt::QDepartment::set_subdepartments(QList<std::shared_ptr<unity::scopes::qt::QDepartment const> > const&)@Base" 0replaceme
415+ (c++)"unity::scopes::qt::QDepartment::subdepartments() const@Base" 0.6.13+15.04.20150205.1
416+ (c++)"unity::scopes::qt::QPreviewQueryBase::action_metadata() const@Base" 0.6.13+15.04.20150205.1
417+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::cancelled()@Base" 0.6.13+15.04.20150205.1
418+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::event(QEvent*)@Base" 0.6.13+15.04.20150205.1
419+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::init()@Base" 0replaceme
420+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::metaObject() const@Base" 0.6.13+15.04.20150205.1
421+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::~QPreviewQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
422+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::QPreviewQueryBaseAPI(std::shared_ptr<QCoreApplication>, unity::scopes::qt::QScopeBase&, unity::scopes::Result const&, unity::scopes::ActionMetadata const&, QObject*)@Base" 0.6.13+15.04.20150205.1
423+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
424+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
425+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::run(std::shared_ptr<unity::scopes::PreviewReply> const&)@Base" 0.6.13+15.04.20150205.1
426+ (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::staticMetaObject@Base" 0.6.13+15.04.20150205.1
427+ (c++)"unity::scopes::qt::QPreviewQueryBase::init(unity::scopes::qt::QPreviewQueryBaseAPI*)@Base" 0.6.13+15.04.20150205.1
428+ (c++)"unity::scopes::qt::QPreviewQueryBase::metaObject() const@Base" 0.6.13+15.04.20150205.1
429+ (c++)"unity::scopes::qt::QPreviewQueryBase::~QPreviewQueryBase()@Base" 0.6.13+15.04.20150205.1
430+ (c++)"unity::scopes::qt::QPreviewQueryBase::QPreviewQueryBase(QObject*)@Base" 0.6.13+15.04.20150205.1
431+ (c++)"unity::scopes::qt::QPreviewQueryBase::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
432+ (c++)"unity::scopes::qt::QPreviewQueryBase::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
433+ (c++)"unity::scopes::qt::QPreviewQueryBase::result() const@Base" 0.6.13+15.04.20150205.1
434+ (c++)"unity::scopes::qt::QPreviewQueryBase::staticMetaObject@Base" 0.6.13+15.04.20150205.1
435+ (c++)"unity::scopes::qt::QPreviewReply::metaObject() const@Base" 0.6.13+15.04.20150205.1
436+ (c++)"unity::scopes::qt::QPreviewReply::push(QList<unity::scopes::qt::QPreviewWidget> const&)@Base" 0.6.13+15.04.20150205.1
437+ (c++)"unity::scopes::qt::QPreviewReply::push(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
438+ (c++)"unity::scopes::qt::QPreviewReply::~QPreviewReply()@Base" 0.6.13+15.04.20150205.1
439+ (c++)"unity::scopes::qt::QPreviewReply::QPreviewReply(std::shared_ptr<unity::scopes::PreviewReply>&, QObject*)@Base" 0.6.13+15.04.20150205.1
440 (c++)"unity::scopes::qt::QPreviewReply::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
441 (c++)"unity::scopes::qt::QPreviewReply::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
442 (c++)"unity::scopes::qt::QPreviewReply::register_layout(QList<unity::scopes::qt::QColumnLayout> const&)@Base" 0.6.13+15.04.20150205.1
443 (c++)"unity::scopes::qt::QPreviewReply::staticMetaObject@Base" 0.6.13+15.04.20150205.1
444- (c++)"unity::scopes::qt::QPreviewReply::push(QList<unity::scopes::qt::QPreviewWidget> const&)@Base" 0.6.13+15.04.20150205.1
445- (c++)"unity::scopes::qt::QPreviewReply::push(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
446- (c++)"unity::scopes::qt::QPreviewReply::QPreviewReply(std::shared_ptr<unity::scopes::PreviewReply>&, QObject*)@Base" 0.6.13+15.04.20150205.1
447- (c++)"unity::scopes::qt::QPreviewReply::QPreviewReply(std::shared_ptr<unity::scopes::PreviewReply>&, QObject*)@Base" 0.6.13+15.04.20150205.1
448- (c++)"unity::scopes::qt::QPreviewReply::~QPreviewReply()@Base" 0.6.13+15.04.20150205.1
449- (c++)"unity::scopes::qt::QPreviewReply::~QPreviewReply()@Base" 0.6.13+15.04.20150205.1
450- (c++)"unity::scopes::qt::QPreviewReply::~QPreviewReply()@Base" 0.6.13+15.04.20150205.1
451- (c++)"unity::scopes::qt::QScopeBaseAPI::stop()@Base" 0.6.13+15.04.20150205.1
452- (c++)"unity::scopes::qt::QScopeBaseAPI::start(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.6.13+15.04.20150205.1
453- (c++)"unity::scopes::qt::QScopeBaseAPI::search(unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&)@Base" 0.6.13+15.04.20150205.1
454- (c++)"unity::scopes::qt::QScopeBaseAPI::preview(unity::scopes::Result const&, unity::scopes::ActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
455- (c++)"unity::scopes::qt::QScopeBaseAPI::QScopeBaseAPI(std::function<unity::scopes::qt::QScopeBase* ()> const&)@Base" 0.6.13+15.04.20150205.1
456- (c++)"unity::scopes::qt::QScopeBaseAPI::QScopeBaseAPI(std::function<unity::scopes::qt::QScopeBase* ()> const&)@Base" 0.6.13+15.04.20150205.1
457- (c++)"unity::scopes::qt::QScopeBaseAPI::~QScopeBaseAPI()@Base" 0.6.13+15.04.20150205.1
458- (c++)"unity::scopes::qt::QScopeBaseAPI::~QScopeBaseAPI()@Base" 0.6.13+15.04.20150205.1
459- (c++)"unity::scopes::qt::QScopeBaseAPI::~QScopeBaseAPI()@Base" 0.6.13+15.04.20150205.1
460- (c++)"unity::scopes::qt::CancelledEvent::~CancelledEvent()@Base" 0.6.13+15.04.20150205.1
461- (c++)"unity::scopes::qt::CancelledEvent::~CancelledEvent()@Base" 0.6.13+15.04.20150205.1
462- (c++)"unity::scopes::qt::CancelledEvent::~CancelledEvent()@Base" 0.6.13+15.04.20150205.1
463+ (c++)"unity::scopes::qt::QPreviewWidget::add_attribute_mapping(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
464+ (c++)"unity::scopes::qt::QPreviewWidget::add_attribute_value(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
465 (c++)"unity::scopes::qt::QPreviewWidget::add_widget(unity::scopes::qt::QPreviewWidget const&)@Base" 0.6.13+15.04.20150205.1
466- (c++)"unity::scopes::qt::QPreviewWidget::add_attribute_value(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
467- (c++)"unity::scopes::qt::QPreviewWidget::add_attribute_mapping(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
468- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::QPreviewWidget&&)@Base" 0.6.13+15.04.20150205.1
469- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::internal::QPreviewWidgetImpl*)@Base" 0.6.13+15.04.20150205.1
470- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(QString const&)@Base" 0.6.13+15.04.20150205.1
471- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
472- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::QPreviewWidget const&)@Base" 0.6.13+15.04.20150205.1
473- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::QPreviewWidget&&)@Base" 0.6.13+15.04.20150205.1
474- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::internal::QPreviewWidgetImpl*)@Base" 0.6.13+15.04.20150205.1
475- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(QString const&)@Base" 0.6.13+15.04.20150205.1
476- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
477- (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::QPreviewWidget const&)@Base" 0.6.13+15.04.20150205.1
478- (c++)"unity::scopes::qt::QPreviewWidget::~QPreviewWidget()@Base" 0.6.13+15.04.20150205.1
479- (c++)"unity::scopes::qt::QPreviewWidget::~QPreviewWidget()@Base" 0.6.13+15.04.20150205.1
480- (c++)"unity::scopes::qt::QPreviewWidget::~QPreviewWidget()@Base" 0.6.13+15.04.20150205.1
481+ (c++)"unity::scopes::qt::QPreviewWidget::attribute_mappings() const@Base" 0.6.13+15.04.20150205.1
482+ (c++)"unity::scopes::qt::QPreviewWidget::attribute_values() const@Base" 0.6.13+15.04.20150205.1
483+ (c++)"unity::scopes::qt::QPreviewWidget::data() const@Base" 0.6.13+15.04.20150205.1
484+ (c++)"unity::scopes::qt::QPreviewWidget::id() const@Base" 0.6.13+15.04.20150205.1
485 (c++)"unity::scopes::qt::QPreviewWidget::operator=(unity::scopes::qt::QPreviewWidget&&)@Base" 0.6.13+15.04.20150205.1
486 (c++)"unity::scopes::qt::QPreviewWidget::operator=(unity::scopes::qt::QPreviewWidget const&)@Base" 0.6.13+15.04.20150205.1
487- (c++)"unity::scopes::qt::XmlAsyncReader::create_parser_with_data(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.6.13+15.04.20150205.1
488- (c++)"unity::scopes::qt::XmlAsyncReader::XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
489- (c++)"unity::scopes::qt::XmlAsyncReader::XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
490- (c++)"unity::scopes::qt::XmlAsyncReader::~XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
491- (c++)"unity::scopes::qt::XmlAsyncReader::~XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
492- (c++)"unity::scopes::qt::XmlAsyncReader::~XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
493- (c++)"unity::scopes::qt::HttpAsyncReader::Priv::~Priv()@Base" 0.6.13+15.04.20150205.1
494- (c++)"unity::scopes::qt::HttpAsyncReader::Priv::~Priv()@Base" 0.6.13+15.04.20150205.1
495- (c++)"unity::scopes::qt::HttpAsyncReader::HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
496- (c++)"unity::scopes::qt::HttpAsyncReader::HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
497- (c++)"unity::scopes::qt::HttpAsyncReader::~HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
498- (c++)"unity::scopes::qt::HttpAsyncReader::~HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
499- (c++)"unity::scopes::qt::HttpAsyncReader::~HttpAsyncReader()@Base" 0.6.13+15.04.20150205.1
500- (c++)"unity::scopes::qt::InitializeEvent::~InitializeEvent()@Base" 0.6.13+15.04.20150205.1
501- (c++)"unity::scopes::qt::InitializeEvent::~InitializeEvent()@Base" 0.6.13+15.04.20150205.1
502- (c++)"unity::scopes::qt::InitializeEvent::~InitializeEvent()@Base" 0.6.13+15.04.20150205.1
503- (c++)"unity::scopes::qt::JsonAsyncReader::create_parser_with_data(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.6.13+15.04.20150205.1
504- (c++)"unity::scopes::qt::JsonAsyncReader::JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
505- (c++)"unity::scopes::qt::JsonAsyncReader::JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
506- (c++)"unity::scopes::qt::JsonAsyncReader::~JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
507- (c++)"unity::scopes::qt::JsonAsyncReader::~JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
508- (c++)"unity::scopes::qt::JsonAsyncReader::~JsonAsyncReader()@Base" 0.6.13+15.04.20150205.1
509- (c++)"unity::scopes::qt::QActionMetadata::set_scope_data(QVariant const&)@Base" 0.6.13+15.04.20150205.1
510- (c++)"unity::scopes::qt::QActionMetadata::set_hint(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
511- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::QActionMetadata&&)@Base" 0.6.13+15.04.20150205.1
512- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::internal::QActionMetadataImpl*)@Base" 0.6.13+15.04.20150205.1
513- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
514- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::QActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
515- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::QActionMetadata&&)@Base" 0.6.13+15.04.20150205.1
516- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::internal::QActionMetadataImpl*)@Base" 0.6.13+15.04.20150205.1
517- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
518- (c++)"unity::scopes::qt::QActionMetadata::QActionMetadata(unity::scopes::qt::QActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
519- (c++)"unity::scopes::qt::QActionMetadata::~QActionMetadata()@Base" 0.6.13+15.04.20150205.1
520- (c++)"unity::scopes::qt::QActionMetadata::~QActionMetadata()@Base" 0.6.13+15.04.20150205.1
521- (c++)"unity::scopes::qt::QActionMetadata::operator=(unity::scopes::qt::QActionMetadata&&)@Base" 0.6.13+15.04.20150205.1
522- (c++)"unity::scopes::qt::QActionMetadata::operator=(unity::scopes::qt::QActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
523- (c++)"unity::scopes::qt::QActionMetadata::operator[](QString const&)@Base" 0.6.13+15.04.20150205.1
524- (c++)"unity::scopes::qt::QSearchMetadata::set_location(unity::scopes::Location const&)@Base" 0.6.13+15.04.20150205.1
525- (c++)"unity::scopes::qt::QSearchMetadata::set_cardinality(int)@Base" 0.6.13+15.04.20150205.1
526- (c++)"unity::scopes::qt::QSearchMetadata::set_hint(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
527- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(unity::scopes::qt::QSearchMetadata&&)@Base" 0.6.13+15.04.20150205.1
528- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
529- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(unity::scopes::qt::QSearchMetadata const&)@Base" 0.6.13+15.04.20150205.1
530- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(int, QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
531- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(unity::scopes::qt::QSearchMetadata&&)@Base" 0.6.13+15.04.20150205.1
532- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
533- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(unity::scopes::qt::QSearchMetadata const&)@Base" 0.6.13+15.04.20150205.1
534- (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(int, QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
535- (c++)"unity::scopes::qt::QSearchMetadata::~QSearchMetadata()@Base" 0.6.13+15.04.20150205.1
536- (c++)"unity::scopes::qt::QSearchMetadata::~QSearchMetadata()@Base" 0.6.13+15.04.20150205.1
537- (c++)"unity::scopes::qt::QSearchMetadata::operator[](QString const&)@Base" 0.6.13+15.04.20150205.1
538- (c++)"unity::scopes::qt::QVariantBuilder::end()@Base" 0.6.13+15.04.20150205.1
539- (c++)"unity::scopes::qt::QVariantBuilder::add_tuple(QVector<QPair<QString, QVariant> > const&)@Base" 0.6.13+15.04.20150205.1
540- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::QVariantBuilder&&)@Base" 0.6.13+15.04.20150205.1
541- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::internal::QVariantBuilderImpl*)@Base" 0.6.13+15.04.20150205.1
542- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::QVariantBuilder const&)@Base" 0.6.13+15.04.20150205.1
543- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
544- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::QVariantBuilder&&)@Base" 0.6.13+15.04.20150205.1
545- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::internal::QVariantBuilderImpl*)@Base" 0.6.13+15.04.20150205.1
546- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::QVariantBuilder const&)@Base" 0.6.13+15.04.20150205.1
547- (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
548- (c++)"unity::scopes::qt::QVariantBuilder::~QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
549- (c++)"unity::scopes::qt::QVariantBuilder::~QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
550- (c++)"unity::scopes::qt::QVariantBuilder::~QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
551- (c++)"unity::scopes::qt::QVariantBuilder::operator=(unity::scopes::qt::QVariantBuilder&&)@Base" 0.6.13+15.04.20150205.1
552- (c++)"unity::scopes::qt::QVariantBuilder::operator=(unity::scopes::qt::QVariantBuilder const&)@Base" 0.6.13+15.04.20150205.1
553- (c++)"unity::scopes::qt::QSearchQueryBase::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
554- (c++)"unity::scopes::qt::QSearchQueryBase::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
555- (c++)"unity::scopes::qt::QSearchQueryBase::staticMetaObject@Base" 0.6.13+15.04.20150205.1
556- (c++)"unity::scopes::qt::QSearchQueryBase::init(unity::scopes::qt::QSearchQueryBaseAPI*)@Base" 0.6.13+15.04.20150205.1
557- (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
558- (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
559- (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
560- (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
561- (c++)"unity::scopes::qt::QSearchQueryBase::QSearchQueryBase(QObject*)@Base" 0.6.13+15.04.20150205.1
562- (c++)"unity::scopes::qt::QSearchQueryBase::QSearchQueryBase(QObject*)@Base" 0.6.13+15.04.20150205.1
563- (c++)"unity::scopes::qt::QSearchQueryBase::~QSearchQueryBase()@Base" 0.6.13+15.04.20150205.1
564- (c++)"unity::scopes::qt::QSearchQueryBase::~QSearchQueryBase()@Base" 0.6.13+15.04.20150205.1
565- (c++)"unity::scopes::qt::QSearchQueryBase::~QSearchQueryBase()@Base" 0.6.13+15.04.20150205.1
566- (c++)"unity::scopes::qt::QPreviewQueryBase::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
567- (c++)"unity::scopes::qt::QPreviewQueryBase::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
568- (c++)"unity::scopes::qt::QPreviewQueryBase::staticMetaObject@Base" 0.6.13+15.04.20150205.1
569- (c++)"unity::scopes::qt::QPreviewQueryBase::init(unity::scopes::qt::QPreviewQueryBaseAPI*)@Base" 0.6.13+15.04.20150205.1
570- (c++)"unity::scopes::qt::QPreviewQueryBase::QPreviewQueryBase(QObject*)@Base" 0.6.13+15.04.20150205.1
571- (c++)"unity::scopes::qt::QPreviewQueryBase::QPreviewQueryBase(QObject*)@Base" 0.6.13+15.04.20150205.1
572- (c++)"unity::scopes::qt::QPreviewQueryBase::~QPreviewQueryBase()@Base" 0.6.13+15.04.20150205.1
573- (c++)"unity::scopes::qt::QPreviewQueryBase::~QPreviewQueryBase()@Base" 0.6.13+15.04.20150205.1
574- (c++)"unity::scopes::qt::QPreviewQueryBase::~QPreviewQueryBase()@Base" 0.6.13+15.04.20150205.1
575- (c++)"unity::scopes::qt::QCategorisedResult::set_category(std::shared_ptr<unity::scopes::qt::QCategory const>)@Base" 0.6.13+15.04.20150205.1
576- (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(unity::scopes::qt::QCategorisedResult&&)@Base" 0.6.13+15.04.20150205.1
577- (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
578- (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(std::shared_ptr<unity::scopes::qt::QCategory const>)@Base" 0.6.13+15.04.20150205.1
579- (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(unity::scopes::qt::QCategorisedResult&&)@Base" 0.6.13+15.04.20150205.1
580- (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
581- (c++)"unity::scopes::qt::QCategorisedResult::QCategorisedResult(std::shared_ptr<unity::scopes::qt::QCategory const>)@Base" 0.6.13+15.04.20150205.1
582- (c++)"unity::scopes::qt::QCategorisedResult::~QCategorisedResult()@Base" 0.6.13+15.04.20150205.1
583- (c++)"unity::scopes::qt::QCategorisedResult::~QCategorisedResult()@Base" 0.6.13+15.04.20150205.1
584- (c++)"unity::scopes::qt::QCategorisedResult::~QCategorisedResult()@Base" 0.6.13+15.04.20150205.1
585- (c++)"unity::scopes::qt::QCategorisedResult::operator=(unity::scopes::qt::QCategorisedResult&&)@Base" 0.6.13+15.04.20150205.1
586- (c++)"unity::scopes::qt::QCategorisedResult::operator=(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
587- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::run_signal(std::shared_ptr<unity::scopes::qt::QSearchReply> const&)@Base" 0.6.13+15.04.20150205.1
588- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
589- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
590- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::staticMetaObject@Base" 0.6.13+15.04.20150205.1
591- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::run(std::shared_ptr<unity::scopes::SearchReply> const&)@Base" 0.6.13+15.04.20150205.1
592- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::event(QEvent*)@Base" 0.6.13+15.04.20150205.1
593- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::cancelled()@Base" 0.6.13+15.04.20150205.1
594- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::QSearchQueryBaseAPI(std::shared_ptr<QCoreApplication>, unity::scopes::qt::QScopeBase&, unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&, QObject*)@Base" 0.6.13+15.04.20150205.1
595- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::QSearchQueryBaseAPI(std::shared_ptr<QCoreApplication>, unity::scopes::qt::QScopeBase&, unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&, QObject*)@Base" 0.6.13+15.04.20150205.1
596- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::~QSearchQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
597- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::~QSearchQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
598- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::~QSearchQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
599- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
600- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
601- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::staticMetaObject@Base" 0.6.13+15.04.20150205.1
602- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::run(std::shared_ptr<unity::scopes::PreviewReply> const&)@Base" 0.6.13+15.04.20150205.1
603- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::event(QEvent*)@Base" 0.6.13+15.04.20150205.1
604- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::cancelled()@Base" 0.6.13+15.04.20150205.1
605- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::QPreviewQueryBaseAPI(std::shared_ptr<QCoreApplication>, unity::scopes::qt::QScopeBase&, unity::scopes::Result const&, unity::scopes::ActionMetadata const&, QObject*)@Base" 0.6.13+15.04.20150205.1
606- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::QPreviewQueryBaseAPI(std::shared_ptr<QCoreApplication>, unity::scopes::qt::QScopeBase&, unity::scopes::Result const&, unity::scopes::ActionMetadata const&, QObject*)@Base" 0.6.13+15.04.20150205.1
607- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::~QPreviewQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
608- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::~QPreviewQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
609- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::~QPreviewQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
610- (c++)"unity::scopes::qt::qVariantToScopeVariant(QVariant const&)@Base" 0.6.13+15.04.20150205.1
611- (c++)"unity::scopes::qt::scopeVariantToQVariant(unity::scopes::Variant const&)@Base" 0.6.13+15.04.20150205.1
612- (c++)"unity::scopes::qt::qVariantMapToScopeVariantMap(QMap<QString, QVariant> const&)@Base" 0.6.13+15.04.20150205.1
613- (c++)"unity::scopes::qt::scopeVariantMapToQVariantMap(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unity::scopes::Variant, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unity::scopes::Variant> > > const&)@Base" 0.6.13+15.04.20150205.1
614+ (c++)"unity::scopes::qt::QPreviewWidget::~QPreviewWidget()@Base" 0.6.13+15.04.20150205.1
615+ (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(QString const&)@Base" 0.6.13+15.04.20150205.1
616+ (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
617+ (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::internal::QPreviewWidgetImpl*)@Base" 0.6.13+15.04.20150205.1
618+ (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::QPreviewWidget&&)@Base" 0.6.13+15.04.20150205.1
619+ (c++)"unity::scopes::qt::QPreviewWidget::QPreviewWidget(unity::scopes::qt::QPreviewWidget const&)@Base" 0.6.13+15.04.20150205.1
620+ (c++)"unity::scopes::qt::QPreviewWidget::serialize() const@Base" 0.6.13+15.04.20150205.1
621+ (c++)"unity::scopes::qt::QPreviewWidget::widgets() const@Base" 0.6.13+15.04.20150205.1
622+ (c++)"unity::scopes::qt::QPreviewWidget::widget_type() const@Base" 0.6.13+15.04.20150205.1
623+ (c++)"unity::scopes::qt::QResult::art() const@Base" 0.6.13+15.04.20150205.1
624+ (c++)"unity::scopes::qt::QResult::contains(QString const&) const@Base" 0.6.13+15.04.20150205.1
625+ (c++)"unity::scopes::qt::QResult::direct_activation() const@Base" 0.6.13+15.04.20150205.1
626+ (c++)"unity::scopes::qt::QResult::dnd_uri() const@Base" 0.6.13+15.04.20150205.1
627+ (c++)"unity::scopes::qt::QResult::has_stored_result() const@Base" 0.6.13+15.04.20150205.1
628+ (c++)"unity::scopes::qt::QResult::operator[](QString const&)@Base" 0.6.13+15.04.20150205.1
629+ (c++)"unity::scopes::qt::QResult::operator[](QString const&) const@Base" 0.6.13+15.04.20150205.1
630+ (c++)"unity::scopes::qt::QResult::operator=(unity::scopes::qt::QResult&&)@Base" 0.6.13+15.04.20150205.1
631+ (c++)"unity::scopes::qt::QResult::operator=(unity::scopes::qt::QResult const&)@Base" 0.6.13+15.04.20150205.1
632+ (c++)"unity::scopes::qt::QResult::~QResult()@Base" 0.6.13+15.04.20150205.1
633+ (c++)"unity::scopes::qt::QResult::QResult(QMap<QString, QVariant> const&)@Base" 0.6.13+15.04.20150205.1
634+ (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::internal::QResultImpl*)@Base" 0.6.13+15.04.20150205.1
635+ (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::QResult&&)@Base" 0.6.13+15.04.20150205.1
636+ (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::QResult const&)@Base" 0.6.13+15.04.20150205.1
637+ (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::Result const&)@Base" 0.6.13+15.04.20150205.1
638+ (c++)"unity::scopes::qt::QResult::retrieve() const@Base" 0.6.13+15.04.20150205.1
639+ (c++)"unity::scopes::qt::QResult::serialize() const@Base" 0.6.13+15.04.20150205.1
640+ (c++)"unity::scopes::qt::QResult::set_art(QString const&)@Base" 0.6.13+15.04.20150205.1
641 (c++)"unity::scopes::qt::QResult::set_dnd_uri(QString const&)@Base" 0.6.13+15.04.20150205.1
642 (c++)"unity::scopes::qt::QResult::set_intercept_activation()@Base" 0.6.13+15.04.20150205.1
643+ (c++)"unity::scopes::qt::QResult::set_title(QString const&)@Base" 0.6.13+15.04.20150205.1
644+ (c++)"unity::scopes::qt::QResult::set_uri(QString const&)@Base" 0.6.13+15.04.20150205.1
645 (c++)"unity::scopes::qt::QResult::store(unity::scopes::qt::QResult const&, bool)@Base" 0.6.13+15.04.20150205.1
646- (c++)"unity::scopes::qt::QResult::set_art(QString const&)@Base" 0.6.13+15.04.20150205.1
647- (c++)"unity::scopes::qt::QResult::set_uri(QString const&)@Base" 0.6.13+15.04.20150205.1
648- (c++)"unity::scopes::qt::QResult::set_title(QString const&)@Base" 0.6.13+15.04.20150205.1
649- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::QResult&&)@Base" 0.6.13+15.04.20150205.1
650- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::internal::QResultImpl*)@Base" 0.6.13+15.04.20150205.1
651- (c++)"unity::scopes::qt::QResult::QResult(QMap<QString, QVariant> const&)@Base" 0.6.13+15.04.20150205.1
652- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::Result const&)@Base" 0.6.13+15.04.20150205.1
653- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::QResult const&)@Base" 0.6.13+15.04.20150205.1
654- (c++)"unity::scopes::qt::QResult::QResult()@Base" 0.6.13+15.04.20150205.1
655- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::QResult&&)@Base" 0.6.13+15.04.20150205.1
656- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::internal::QResultImpl*)@Base" 0.6.13+15.04.20150205.1
657- (c++)"unity::scopes::qt::QResult::QResult(QMap<QString, QVariant> const&)@Base" 0.6.13+15.04.20150205.1
658- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::Result const&)@Base" 0.6.13+15.04.20150205.1
659- (c++)"unity::scopes::qt::QResult::QResult(unity::scopes::qt::QResult const&)@Base" 0.6.13+15.04.20150205.1
660- (c++)"unity::scopes::qt::QResult::QResult()@Base" 0.6.13+15.04.20150205.1
661- (c++)"unity::scopes::qt::QResult::~QResult()@Base" 0.6.13+15.04.20150205.1
662- (c++)"unity::scopes::qt::QResult::~QResult()@Base" 0.6.13+15.04.20150205.1
663- (c++)"unity::scopes::qt::QResult::~QResult()@Base" 0.6.13+15.04.20150205.1
664- (c++)"unity::scopes::qt::QResult::operator=(unity::scopes::qt::QResult&&)@Base" 0.6.13+15.04.20150205.1
665- (c++)"unity::scopes::qt::QResult::operator=(unity::scopes::qt::QResult const&)@Base" 0.6.13+15.04.20150205.1
666- (c++)"unity::scopes::qt::QResult::operator[](QString const&)@Base" 0.6.13+15.04.20150205.1
667- (c++)"unity::scopes::qt::RunEvent::~RunEvent()@Base" 0.6.13+15.04.20150205.1
668- (c++)"unity::scopes::qt::RunEvent::~RunEvent()@Base" 0.6.13+15.04.20150205.1
669- (c++)"unity::scopes::qt::RunEvent::~RunEvent()@Base" 0.6.13+15.04.20150205.1
670- (c++)"unity::scopes::qt::QCategory::QCategory(unity::scopes::qt::internal::QCategoryImpl*)@Base" 0.6.13+15.04.20150205.1
671- (c++)"unity::scopes::qt::QCategory::QCategory(std::shared_ptr<unity::scopes::Category const>)@Base" 0.6.13+15.04.20150205.1
672- (c++)"unity::scopes::qt::QCategory::QCategory(unity::scopes::qt::internal::QCategoryImpl*)@Base" 0.6.13+15.04.20150205.1
673- (c++)"unity::scopes::qt::QCategory::QCategory(std::shared_ptr<unity::scopes::Category const>)@Base" 0.6.13+15.04.20150205.1
674- (c++)"unity::scopes::qt::QCategory::~QCategory()@Base" 0.6.13+15.04.20150205.1
675- (c++)"unity::scopes::qt::QCategory::~QCategory()@Base" 0.6.13+15.04.20150205.1
676- (c++)"unity::scopes::qt::QCategory::~QCategory()@Base" 0.6.13+15.04.20150205.1
677- (c++)"unity::scopes::qt::XmlReader::XmlReader()@Base" 0.6.13+15.04.20150205.1
678- (c++)"unity::scopes::qt::XmlReader::XmlReader()@Base" 0.6.13+15.04.20150205.1
679- (c++)"unity::scopes::qt::JsonReader::read(QUrl const&) const@Base" 0.6.13+15.04.20150205.1
680- (c++)"unity::scopes::qt::JsonReader::read(QString const&, QVector<QPair<QString, QString> > const&) const@Base" 0.6.13+15.04.20150205.1
681+ (c++)"unity::scopes::qt::QResult::target_scope_proxy() const@Base" 0.6.13+15.04.20150205.1
682+ (c++)"unity::scopes::qt::QResult::title() const@Base" 0.6.13+15.04.20150205.1
683+ (c++)"unity::scopes::qt::QResult::uri() const@Base" 0.6.13+15.04.20150205.1
684+ (c++)"unity::scopes::qt::QResult::value(QString const&) const@Base" 0.6.13+15.04.20150205.1
685+ (c++)"unity::scopes::qt::QScopeBaseAPI::preview(unity::scopes::Result const&, unity::scopes::ActionMetadata const&)@Base" 0.6.13+15.04.20150205.1
686+ (c++)"unity::scopes::qt::QScopeBaseAPI::~QScopeBaseAPI()@Base" 0.6.13+15.04.20150205.1
687+ (c++)"unity::scopes::qt::QScopeBaseAPI::QScopeBaseAPI(std::function<unity::scopes::qt::QScopeBase* ()> const&)@Base" 0.6.13+15.04.20150205.1
688+ (c++)"unity::scopes::qt::QScopeBaseAPI::search(unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&)@Base" 0.6.13+15.04.20150205.1
689+ (c++)"unity::scopes::qt::QScopeBaseAPI::start(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.6.13+15.04.20150205.1
690+ (c++)"unity::scopes::qt::QScopeBaseAPI::stop()@Base" 0.6.13+15.04.20150205.1
691 (c++)"unity::scopes::qt::QScopeBase::metaObject() const@Base" 0.6.13+15.04.20150205.1
692- (c++)"unity::scopes::qt::QDepartment::subdepartments() const@Base" 0.6.13+15.04.20150205.1
693- (c++)"unity::scopes::qt::QDepartment::alternate_label() const@Base" 0.6.13+15.04.20150205.1
694- (c++)"unity::scopes::qt::QDepartment::has_subdepartments() const@Base" 0.6.13+15.04.20150205.1
695- (c++)"unity::scopes::qt::QDepartment::id() const@Base" 0.6.13+15.04.20150205.1
696- (c++)"unity::scopes::qt::QDepartment::label() const@Base" 0.6.13+15.04.20150205.1
697- (c++)"unity::scopes::qt::QDepartment::query() const@Base" 0.6.13+15.04.20150205.1
698- (c++)"unity::scopes::qt::QDepartment::serialize() const@Base" 0.6.13+15.04.20150205.1
699- (c++)"unity::scopes::qt::QCannedQuery::filter_state() const@Base" 0.6.13+15.04.20150205.1
700- (c++)"unity::scopes::qt::QCannedQuery::query_string() const@Base" 0.6.13+15.04.20150205.1
701- (c++)"unity::scopes::qt::QCannedQuery::department_id() const@Base" 0.6.13+15.04.20150205.1
702- (c++)"unity::scopes::qt::QCannedQuery::to_uri() const@Base" 0.6.13+15.04.20150205.1
703- (c++)"unity::scopes::qt::QCannedQuery::scope_id() const@Base" 0.6.13+15.04.20150205.1
704- (c++)"unity::scopes::qt::QCannedQuery::serialize() const@Base" 0.6.13+15.04.20150205.1
705- (c++)"unity::scopes::qt::QSearchReply::metaObject() const@Base" 0.6.13+15.04.20150205.1
706- (c++)"unity::scopes::qt::QColumnLayout::number_of_columns() const@Base" 0.6.13+15.04.20150205.1
707- (c++)"unity::scopes::qt::QColumnLayout::size() const@Base" 0.6.13+15.04.20150205.1
708- (c++)"unity::scopes::qt::QColumnLayout::column(int) const@Base" 0.6.13+15.04.20150205.1
709- (c++)"unity::scopes::qt::QColumnLayout::serialize() const@Base" 0.6.13+15.04.20150205.1
710- (c++)"unity::scopes::qt::QPreviewReply::metaObject() const@Base" 0.6.13+15.04.20150205.1
711- (c++)"unity::scopes::qt::QPreviewWidget::widget_type() const@Base" 0.6.13+15.04.20150205.1
712- (c++)"unity::scopes::qt::QPreviewWidget::attribute_values() const@Base" 0.6.13+15.04.20150205.1
713- (c++)"unity::scopes::qt::QPreviewWidget::attribute_mappings() const@Base" 0.6.13+15.04.20150205.1
714- (c++)"unity::scopes::qt::QPreviewWidget::id() const@Base" 0.6.13+15.04.20150205.1
715- (c++)"unity::scopes::qt::QPreviewWidget::data() const@Base" 0.6.13+15.04.20150205.1
716- (c++)"unity::scopes::qt::QPreviewWidget::widgets() const@Base" 0.6.13+15.04.20150205.1
717- (c++)"unity::scopes::qt::QPreviewWidget::serialize() const@Base" 0.6.13+15.04.20150205.1
718- (c++)"unity::scopes::qt::XmlAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.6.13+15.04.20150205.1
719- (c++)"unity::scopes::qt::XmlAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.6.13+15.04.20150205.1
720- (c++)"unity::scopes::qt::HttpAsyncReader::async_execute(core::net::http::Request::Handler const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.6.13+15.04.20150205.1
721- (c++)"unity::scopes::qt::HttpAsyncReader::progress_report(core::net::http::Request::Progress const&) const@Base" 0.6.13+15.04.20150205.1
722- (c++)"unity::scopes::qt::HttpAsyncReader::get_uri(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.6.13+15.04.20150205.1
723- (c++)"unity::scopes::qt::JsonAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.6.13+15.04.20150205.1
724- (c++)"unity::scopes::qt::JsonAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.6.13+15.04.20150205.1
725- (c++)"unity::scopes::qt::QActionMetadata::scope_data() const@Base" 0.6.13+15.04.20150205.1
726- (c++)"unity::scopes::qt::QActionMetadata::contains_hint(QString const&) const@Base" 0.6.13+15.04.20150205.1
727- (c++)"unity::scopes::qt::QActionMetadata::hints() const@Base" 0.6.13+15.04.20150205.1
728- (c++)"unity::scopes::qt::QActionMetadata::operator[](QString const&) const@Base" 0.6.13+15.04.20150205.1
729+ (c++)"unity::scopes::qt::QScopeBase::~QScopeBase()@Base" 0.6.13+15.04.20150205.1
730+ (c++)"unity::scopes::qt::QScopeBase::QScopeBase(QObject*)@Base" 0.6.13+15.04.20150205.1
731+ (c++)"unity::scopes::qt::QScopeBase::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
732+ (c++)"unity::scopes::qt::QScopeBase::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
733+ (c++)"unity::scopes::qt::QScopeBase::start(QString const&)@Base" 0.6.13+15.04.20150205.1
734+ (c++)"unity::scopes::qt::QScopeBase::staticMetaObject@Base" 0.6.13+15.04.20150205.1
735+ (c++)"unity::scopes::qt::QScopeBase::stop()@Base" 0.6.13+15.04.20150205.1
736 (c++)"unity::scopes::qt::QSearchMetadata::cardinality() const@Base" 0.6.13+15.04.20150205.1
737+ (c++)"unity::scopes::qt::QSearchMetadata::contains_hint(QString const&) const@Base" 0.6.13+15.04.20150205.1
738 (c++)"unity::scopes::qt::QSearchMetadata::has_location() const@Base" 0.6.13+15.04.20150205.1
739- (c++)"unity::scopes::qt::QSearchMetadata::contains_hint(QString const&) const@Base" 0.6.13+15.04.20150205.1
740 (c++)"unity::scopes::qt::QSearchMetadata::hints() const@Base" 0.6.13+15.04.20150205.1
741 (c++)"unity::scopes::qt::QSearchMetadata::location() const@Base" 0.6.13+15.04.20150205.1
742+ (c++)"unity::scopes::qt::QSearchMetadata::operator[](QString const&)@Base" 0.6.13+15.04.20150205.1
743 (c++)"unity::scopes::qt::QSearchMetadata::operator[](QString const&) const@Base" 0.6.13+15.04.20150205.1
744+ (c++)"unity::scopes::qt::QSearchMetadata::~QSearchMetadata()@Base" 0.6.13+15.04.20150205.1
745+ (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(int, QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
746+ (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(QString const&, QString const&)@Base" 0.6.13+15.04.20150205.1
747+ (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(unity::scopes::qt::QSearchMetadata&&)@Base" 0.6.13+15.04.20150205.1
748+ (c++)"unity::scopes::qt::QSearchMetadata::QSearchMetadata(unity::scopes::qt::QSearchMetadata const&)@Base" 0.6.13+15.04.20150205.1
749+ (c++)"unity::scopes::qt::QSearchMetadata::remove_location()@Base" 0replaceme
750+ (c++)"unity::scopes::qt::QSearchMetadata::set_cardinality(int)@Base" 0.6.13+15.04.20150205.1
751+ (c++)"unity::scopes::qt::QSearchMetadata::set_hint(QString const&, QVariant const&)@Base" 0.6.13+15.04.20150205.1
752+ (c++)"unity::scopes::qt::QSearchMetadata::set_location(unity::scopes::Location const&)@Base" 0.6.13+15.04.20150205.1
753+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::cancelled()@Base" 0.6.13+15.04.20150205.1
754+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::event(QEvent*)@Base" 0.6.13+15.04.20150205.1
755+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::init()@Base" 0replaceme
756+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::metaObject() const@Base" 0.6.13+15.04.20150205.1
757+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::~QSearchQueryBaseAPI()@Base" 0.6.13+15.04.20150205.1
758+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::QSearchQueryBaseAPI(std::shared_ptr<QCoreApplication>, unity::scopes::qt::QScopeBase&, unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&, QObject*)@Base" 0.6.13+15.04.20150205.1
759+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
760+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
761+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::run_signal(std::shared_ptr<unity::scopes::qt::QSearchReply> const&)@Base" 0.6.13+15.04.20150205.1
762+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::run(std::shared_ptr<unity::scopes::SearchReply> const&)@Base" 0.6.13+15.04.20150205.1
763+ (c++)"unity::scopes::qt::QSearchQueryBaseAPI::staticMetaObject@Base" 0.6.13+15.04.20150205.1
764+ (c++)"unity::scopes::qt::QSearchQueryBase::init(unity::scopes::qt::QSearchQueryBaseAPI*)@Base" 0.6.13+15.04.20150205.1
765 (c++)"unity::scopes::qt::QSearchQueryBase::metaObject() const@Base" 0.6.13+15.04.20150205.1
766+ (c++)"unity::scopes::qt::QSearchQueryBase::~QSearchQueryBase()@Base" 0.6.13+15.04.20150205.1
767+ (c++)"unity::scopes::qt::QSearchQueryBase::QSearchQueryBase(QObject*)@Base" 0.6.13+15.04.20150205.1
768+ (c++)"unity::scopes::qt::QSearchQueryBase::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
769+ (c++)"unity::scopes::qt::QSearchQueryBase::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
770+ (c++)"unity::scopes::qt::QSearchQueryBase::query() const@Base" 0.6.13+15.04.20150205.1
771 (c++)"unity::scopes::qt::QSearchQueryBase::search_metadata() const@Base" 0.6.13+15.04.20150205.1
772- (c++)"unity::scopes::qt::QSearchQueryBase::query() const@Base" 0.6.13+15.04.20150205.1
773- (c++)"unity::scopes::qt::QPreviewQueryBase::metaObject() const@Base" 0.6.13+15.04.20150205.1
774- (c++)"unity::scopes::qt::QPreviewQueryBase::action_metadata() const@Base" 0.6.13+15.04.20150205.1
775- (c++)"unity::scopes::qt::QPreviewQueryBase::result() const@Base" 0.6.13+15.04.20150205.1
776- (c++)"unity::scopes::qt::QCategorisedResult::fwd() const@Base" 0.6.13+15.04.20150205.1
777- (c++)"unity::scopes::qt::QCategorisedResult::category() const@Base" 0.6.13+15.04.20150205.1
778- (c++)"unity::scopes::qt::QSearchQueryBaseAPI::metaObject() const@Base" 0.6.13+15.04.20150205.1
779- (c++)"unity::scopes::qt::QPreviewQueryBaseAPI::metaObject() const@Base" 0.6.13+15.04.20150205.1
780- (c++)"unity::scopes::qt::QResult::direct_activation() const@Base" 0.6.13+15.04.20150205.1
781- (c++)"unity::scopes::qt::QResult::has_stored_result() const@Base" 0.6.13+15.04.20150205.1
782- (c++)"unity::scopes::qt::QResult::target_scope_proxy() const@Base" 0.6.13+15.04.20150205.1
783- (c++)"unity::scopes::qt::QResult::art() const@Base" 0.6.13+15.04.20150205.1
784- (c++)"unity::scopes::qt::QResult::uri() const@Base" 0.6.13+15.04.20150205.1
785- (c++)"unity::scopes::qt::QResult::title() const@Base" 0.6.13+15.04.20150205.1
786- (c++)"unity::scopes::qt::QResult::value(QString const&) const@Base" 0.6.13+15.04.20150205.1
787- (c++)"unity::scopes::qt::QResult::dnd_uri() const@Base" 0.6.13+15.04.20150205.1
788- (c++)"unity::scopes::qt::QResult::contains(QString const&) const@Base" 0.6.13+15.04.20150205.1
789- (c++)"unity::scopes::qt::QResult::retrieve() const@Base" 0.6.13+15.04.20150205.1
790- (c++)"unity::scopes::qt::QResult::serialize() const@Base" 0.6.13+15.04.20150205.1
791- (c++)"unity::scopes::qt::QResult::operator[](QString const&) const@Base" 0.6.13+15.04.20150205.1
792- (c++)"unity::scopes::qt::QCategory::renderer_template() const@Base" 0.6.13+15.04.20150205.1
793- (c++)"unity::scopes::qt::QCategory::id() const@Base" 0.6.13+15.04.20150205.1
794- (c++)"unity::scopes::qt::QCategory::icon() const@Base" 0.6.13+15.04.20150205.1
795- (c++)"unity::scopes::qt::QCategory::query() const@Base" 0.6.13+15.04.20150205.1
796- (c++)"unity::scopes::qt::QCategory::title() const@Base" 0.6.13+15.04.20150205.1
797- (c++)"unity::scopes::qt::QCategory::serialize() const@Base" 0.6.13+15.04.20150205.1
798+ (c++)"unity::scopes::qt::QSearchQueryBase::staticMetaObject@Base" 0.6.13+15.04.20150205.1
799+ (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
800+ (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
801+ (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
802+ (c++)"unity::scopes::qt::QSearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.13+15.04.20150205.1
803+ (c++)"unity::scopes::qt::QSearchReply::error(std::__exception_ptr::exception_ptr)@Base" 0.6.13+15.04.20150205.1
804+ (c++)"unity::scopes::qt::QSearchReply::metaObject() const@Base" 0.6.13+15.04.20150205.1
805+ (c++)"unity::scopes::qt::QSearchReply::push(unity::scopes::qt::QCategorisedResult const&)@Base" 0.6.13+15.04.20150205.1
806+ (c++)"unity::scopes::qt::QSearchReply::~QSearchReply()@Base" 0.6.13+15.04.20150205.1
807+ (c++)"unity::scopes::qt::QSearchReply::QSearchReply(std::shared_ptr<unity::scopes::SearchReply>&, QObject*)@Base" 0.6.13+15.04.20150205.1
808+ (c++)"unity::scopes::qt::QSearchReply::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.6.13+15.04.20150205.1
809+ (c++)"unity::scopes::qt::QSearchReply::qt_metacast(char const*)@Base" 0.6.13+15.04.20150205.1
810+ (c++)"unity::scopes::qt::QSearchReply::register_category(QString const&, QString const&, QString const&, unity::scopes::CategoryRenderer const&)@Base" 0.6.13+15.04.20150205.1
811+ (c++)"unity::scopes::qt::QSearchReply::register_departments(std::shared_ptr<unity::scopes::qt::QDepartment const> const&)@Base" 0.6.13+15.04.20150205.1
812+ (c++)"unity::scopes::qt::QSearchReply::staticMetaObject@Base" 0.6.13+15.04.20150205.1
813+ (c++)"unity::scopes::qt::QVariantBuilder::add_tuple(QVector<QPair<QString, QVariant> > const&)@Base" 0.6.13+15.04.20150205.1
814+ (c++)"unity::scopes::qt::QVariantBuilder::add_tuple(std::initializer_list<QPair<QString, QVariant> > const&)@Base" 0replaceme
815+ (c++)"unity::scopes::qt::QVariantBuilder::end()@Base" 0.6.13+15.04.20150205.1
816+ (c++)"unity::scopes::qt::QVariantBuilder::operator=(unity::scopes::qt::QVariantBuilder&&)@Base" 0.6.13+15.04.20150205.1
817+ (c++)"unity::scopes::qt::QVariantBuilder::operator=(unity::scopes::qt::QVariantBuilder const&)@Base" 0.6.13+15.04.20150205.1
818+ (c++)"unity::scopes::qt::QVariantBuilder::~QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
819+ (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder()@Base" 0.6.13+15.04.20150205.1
820+ (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::internal::QVariantBuilderImpl*)@Base" 0.6.13+15.04.20150205.1
821+ (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::QVariantBuilder&&)@Base" 0.6.13+15.04.20150205.1
822+ (c++)"unity::scopes::qt::QVariantBuilder::QVariantBuilder(unity::scopes::qt::QVariantBuilder const&)@Base" 0.6.13+15.04.20150205.1
823+ (c++)"unity::scopes::qt::RunEvent::~RunEvent()@Base" 0.6.13+15.04.20150205.1
824+ (c++)"unity::scopes::qt::XmlAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.6.13+15.04.20150205.1
825+ (c++)"unity::scopes::qt::XmlAsyncReader::async_get_parser(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.6.13+15.04.20150205.1
826+ (c++)"unity::scopes::qt::XmlAsyncReader::create_parser_with_data(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.6.13+15.04.20150205.1
827+ (c++)"unity::scopes::qt::XmlAsyncReader::~XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
828+ (c++)"unity::scopes::qt::XmlAsyncReader::XmlAsyncReader()@Base" 0.6.13+15.04.20150205.1
829+ (c++)"unity::scopes::qt::XmlReader::read(QString const&, QVector<QPair<QString, QString> > const&) const@Base" 0.6.13+15.04.20150205.1
830 (c++)"unity::scopes::qt::XmlReader::read(QUrl const&) const@Base" 0.6.13+15.04.20150205.1
831- (c++)"unity::scopes::qt::XmlReader::read(QString const&, QVector<QPair<QString, QString> > const&) const@Base" 0.6.13+15.04.20150205.1
832- (c++)"typeinfo for unity::scopes::qt::QScopeBase@Base" 0.6.13+15.04.20150205.1
833- (c++)"typeinfo for unity::scopes::qt::QSearchReply@Base" 0.6.13+15.04.20150205.1
834- (c++)"typeinfo for unity::scopes::qt::QPreviewReply@Base" 0.6.13+15.04.20150205.1
835- (c++)"typeinfo for unity::scopes::qt::QScopeBaseAPI@Base" 0.6.13+15.04.20150205.1
836- (c++)"typeinfo for unity::scopes::qt::CancelledEvent@Base" 0.6.13+15.04.20150205.1
837- (c++)"typeinfo for unity::scopes::qt::QPreviewWidget@Base" 0.6.13+15.04.20150205.1
838- (c++)"typeinfo for unity::scopes::qt::XmlAsyncReader@Base" 0.6.13+15.04.20150205.1
839- (c++)"typeinfo for unity::scopes::qt::HttpAsyncReader@Base" 0.6.13+15.04.20150205.1
840- (c++)"typeinfo for unity::scopes::qt::InitializeEvent@Base" 0.6.13+15.04.20150205.1
841- (c++)"typeinfo for unity::scopes::qt::JsonAsyncReader@Base" 0.6.13+15.04.20150205.1
842- (c++)"typeinfo for unity::scopes::qt::QVariantBuilder@Base" 0.6.13+15.04.20150205.1
843- (c++)"typeinfo for unity::scopes::qt::QSearchQueryBase@Base" 0.6.13+15.04.20150205.1
844- (c++)"typeinfo for unity::scopes::qt::QPreviewQueryBase@Base" 0.6.13+15.04.20150205.1
845- (c++)"typeinfo for unity::scopes::qt::QCategorisedResult@Base" 0.6.13+15.04.20150205.1
846- (c++)"typeinfo for unity::scopes::qt::QSearchQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
847- (c++)"typeinfo for unity::scopes::qt::QPreviewQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
848- (c++)"typeinfo for unity::scopes::qt::QResult@Base" 0.6.13+15.04.20150205.1
849- (c++)"typeinfo for unity::scopes::qt::RunEvent@Base" 0.6.13+15.04.20150205.1
850- (c++)"typeinfo for unity::scopes::qt::QCategory@Base" 0.6.13+15.04.20150205.1
851- (c++)"typeinfo name for unity::scopes::qt::QScopeBase@Base" 0.6.13+15.04.20150205.1
852- (c++)"typeinfo name for unity::scopes::qt::QSearchReply@Base" 0.6.13+15.04.20150205.1
853- (c++)"typeinfo name for unity::scopes::qt::QPreviewReply@Base" 0.6.13+15.04.20150205.1
854- (c++)"typeinfo name for unity::scopes::qt::QScopeBaseAPI@Base" 0.6.13+15.04.20150205.1
855- (c++)"typeinfo name for unity::scopes::qt::CancelledEvent@Base" 0.6.13+15.04.20150205.1
856- (c++)"typeinfo name for unity::scopes::qt::QPreviewWidget@Base" 0.6.13+15.04.20150205.1
857- (c++)"typeinfo name for unity::scopes::qt::XmlAsyncReader@Base" 0.6.13+15.04.20150205.1
858- (c++)"typeinfo name for unity::scopes::qt::HttpAsyncReader@Base" 0.6.13+15.04.20150205.1
859- (c++)"typeinfo name for unity::scopes::qt::InitializeEvent@Base" 0.6.13+15.04.20150205.1
860- (c++)"typeinfo name for unity::scopes::qt::JsonAsyncReader@Base" 0.6.13+15.04.20150205.1
861- (c++)"typeinfo name for unity::scopes::qt::QVariantBuilder@Base" 0.6.13+15.04.20150205.1
862- (c++)"typeinfo name for unity::scopes::qt::QSearchQueryBase@Base" 0.6.13+15.04.20150205.1
863- (c++)"typeinfo name for unity::scopes::qt::QPreviewQueryBase@Base" 0.6.13+15.04.20150205.1
864- (c++)"typeinfo name for unity::scopes::qt::QCategorisedResult@Base" 0.6.13+15.04.20150205.1
865- (c++)"typeinfo name for unity::scopes::qt::QSearchQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
866- (c++)"typeinfo name for unity::scopes::qt::QPreviewQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
867- (c++)"typeinfo name for unity::scopes::qt::QResult@Base" 0.6.13+15.04.20150205.1
868- (c++)"typeinfo name for unity::scopes::qt::RunEvent@Base" 0.6.13+15.04.20150205.1
869- (c++)"typeinfo name for unity::scopes::qt::QCategory@Base" 0.6.13+15.04.20150205.1
870- (c++)"vtable for unity::scopes::qt::QScopeBase@Base" 0.6.13+15.04.20150205.1
871- (c++)"vtable for unity::scopes::qt::QSearchReply@Base" 0.6.13+15.04.20150205.1
872- (c++)"vtable for unity::scopes::qt::QPreviewReply@Base" 0.6.13+15.04.20150205.1
873- (c++)"vtable for unity::scopes::qt::QScopeBaseAPI@Base" 0.6.13+15.04.20150205.1
874+ (c++)"unity::scopes::qt::XmlReader::XmlReader()@Base" 0.6.13+15.04.20150205.1
875 (c++)"vtable for unity::scopes::qt::CancelledEvent@Base" 0.6.13+15.04.20150205.1
876- (c++)"vtable for unity::scopes::qt::QPreviewWidget@Base" 0.6.13+15.04.20150205.1
877- (c++)"vtable for unity::scopes::qt::XmlAsyncReader@Base" 0.6.13+15.04.20150205.1
878 (c++)"vtable for unity::scopes::qt::HttpAsyncReader@Base" 0.6.13+15.04.20150205.1
879 (c++)"vtable for unity::scopes::qt::InitializeEvent@Base" 0.6.13+15.04.20150205.1
880 (c++)"vtable for unity::scopes::qt::JsonAsyncReader@Base" 0.6.13+15.04.20150205.1
881- (c++)"vtable for unity::scopes::qt::QVariantBuilder@Base" 0.6.13+15.04.20150205.1
882- (c++)"vtable for unity::scopes::qt::QSearchQueryBase@Base" 0.6.13+15.04.20150205.1
883- (c++)"vtable for unity::scopes::qt::QPreviewQueryBase@Base" 0.6.13+15.04.20150205.1
884 (c++)"vtable for unity::scopes::qt::QCategorisedResult@Base" 0.6.13+15.04.20150205.1
885- (c++)"vtable for unity::scopes::qt::QSearchQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
886+ (c++)"vtable for unity::scopes::qt::QCategory@Base" 0.6.13+15.04.20150205.1
887 (c++)"vtable for unity::scopes::qt::QPreviewQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
888+ (c++)"vtable for unity::scopes::qt::QPreviewQueryBase@Base" 0.6.13+15.04.20150205.1
889+ (c++)"vtable for unity::scopes::qt::QPreviewReply@Base" 0.6.13+15.04.20150205.1
890+ (c++)"vtable for unity::scopes::qt::QPreviewWidget@Base" 0.6.13+15.04.20150205.1
891 (c++)"vtable for unity::scopes::qt::QResult@Base" 0.6.13+15.04.20150205.1
892+ (c++)"vtable for unity::scopes::qt::QScopeBaseAPI@Base" 0.6.13+15.04.20150205.1
893+ (c++)"vtable for unity::scopes::qt::QScopeBase@Base" 0.6.13+15.04.20150205.1
894+ (c++)"vtable for unity::scopes::qt::QSearchQueryBaseAPI@Base" 0.6.13+15.04.20150205.1
895+ (c++)"vtable for unity::scopes::qt::QSearchQueryBase@Base" 0.6.13+15.04.20150205.1
896+ (c++)"vtable for unity::scopes::qt::QSearchReply@Base" 0.6.13+15.04.20150205.1
897+ (c++)"vtable for unity::scopes::qt::QVariantBuilder@Base" 0.6.13+15.04.20150205.1
898 (c++)"vtable for unity::scopes::qt::RunEvent@Base" 0.6.13+15.04.20150205.1
899- (c++)"vtable for unity::scopes::qt::QCategory@Base" 0.6.13+15.04.20150205.1
900+ (c++)"vtable for unity::scopes::qt::XmlAsyncReader@Base" 0.6.13+15.04.20150205.1
901
902=== modified file 'debian/libunity-scopes3.symbols'
903--- debian/libunity-scopes3.symbols 2015-04-07 06:33:09 +0000
904+++ debian/libunity-scopes3.symbols 2015-04-10 18:54:31 +0000
905@@ -8,6 +8,7 @@
906 (c++)"typeinfo for unity::scopes::CategoryRenderer@Base" 0.4.0+14.04.20140312.1
907 (c++)"typeinfo for unity::scopes::ConfigException@Base" 0.4.0+14.04.20140312.1
908 (c++)"typeinfo for unity::scopes::experimental::Annotation@Base" 0.5.0+14.10.20140619
909+ (c++)"typeinfo for unity::scopes::experimental::DateTimePickerFilter@Base" 0replaceme
910 (c++)"typeinfo for unity::scopes::experimental::RadioButtonsFilter@Base" 0.5.0+14.10.20140619
911 (c++)"typeinfo for unity::scopes::experimental::RangeInputFilter@Base" 0.5.0+14.10.20140619
912 (c++)"typeinfo for unity::scopes::experimental::RatingFilter@Base" 0.5.0+14.10.20140619
913@@ -55,6 +56,7 @@
914 (c++)"typeinfo name for unity::scopes::CategoryRenderer@Base" 0.4.0+14.04.20140312.1
915 (c++)"typeinfo name for unity::scopes::ConfigException@Base" 0.4.0+14.04.20140312.1
916 (c++)"typeinfo name for unity::scopes::experimental::Annotation@Base" 0.5.0+14.10.20140619
917+ (c++)"typeinfo name for unity::scopes::experimental::DateTimePickerFilter@Base" 0replaceme
918 (c++)"typeinfo name for unity::scopes::experimental::RadioButtonsFilter@Base" 0.5.0+14.10.20140619
919 (c++)"typeinfo name for unity::scopes::experimental::RangeInputFilter@Base" 0.5.0+14.10.20140619
920 (c++)"typeinfo name for unity::scopes::experimental::RatingFilter@Base" 0.5.0+14.10.20140619
921@@ -145,6 +147,7 @@
922 (c++)"unity::scopes::CannedQuery::department_id() const@Base" 0.4.0+14.04.20140312.1
923 (c++)"unity::scopes::CannedQuery::filter_state() const@Base" 0.4.0+14.04.20140312.1
924 (c++)"unity::scopes::CannedQuery::from_uri(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.3+14.10.20140428
925+ (c++)"unity::scopes::CannedQuery::has_user_data() const@Base" 0replaceme
926 (c++)"unity::scopes::CannedQuery::operator=(unity::scopes::CannedQuery&&)@Base" 0.4.0+14.04.20140312.1
927 (c++)"unity::scopes::CannedQuery::operator=(unity::scopes::CannedQuery const&)@Base" 0.4.0+14.04.20140312.1
928 (c++)"unity::scopes::CannedQuery::query_string() const@Base" 0.4.0+14.04.20140312.1
929@@ -153,7 +156,9 @@
930 (c++)"unity::scopes::CannedQuery::set_department_id(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
931 (c++)"unity::scopes::CannedQuery::set_filter_state(unity::scopes::FilterState const&)@Base" 0.4.0+14.04.20140312.1
932 (c++)"unity::scopes::CannedQuery::set_query_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
933+ (c++)"unity::scopes::CannedQuery::set_user_data(unity::scopes::Variant const&)@Base" 0replaceme
934 (c++)"unity::scopes::CannedQuery::to_uri() const@Base" 0.4.3+14.10.20140428
935+ (c++)"unity::scopes::CannedQuery::user_data() const@Base" 0replaceme
936 (c++)"unity::scopes::CategorisedResult::~CategorisedResult()@Base" 0.4.0+14.04.20140312.1
937 (c++)"unity::scopes::CategorisedResult::CategorisedResult(std::shared_ptr<unity::scopes::Category const>)@Base" 0.4.0+14.04.20140312.1
938 (c++)"unity::scopes::CategorisedResult::CategorisedResult(unity::scopes::CategorisedResult&&)@Base" 0.4.0+14.04.20140312.1
939@@ -246,6 +251,30 @@
940 (c++)"unity::scopes::experimental::Annotation::serialize() const@Base" 0.5.0+14.10.20140619
941 (c++)"unity::scopes::experimental::Annotation::set_icon(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.5.0+14.10.20140619
942 (c++)"unity::scopes::experimental::Annotation::set_label(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.5.0+14.10.20140619
943+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::experimental::DateTimePickerFilter::create(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::bitset<6ul>)@Base" 0replaceme
944+ (c++|arch=armhf i386 powerpc)"unity::scopes::experimental::DateTimePickerFilter::create(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::bitset<6u>)@Base" 0replaceme
945+ (c++)"unity::scopes::experimental::DateTimePickerFilter::date_label() const@Base" 0replaceme
946+ (c++)"unity::scopes::experimental::DateTimePickerFilter::~DateTimePickerFilter()@Base" 0replaceme
947+ (c++)"unity::scopes::experimental::DateTimePickerFilter::DateTimePickerFilter(unity::scopes::internal::DateTimePickerFilterImpl*)@Base" 0replaceme
948+ (c++)"unity::scopes::experimental::DateTimePickerFilter::fwd() const@Base" 0replaceme
949+ (c++)"unity::scopes::experimental::DateTimePickerFilter::has_maximum() const@Base" 0replaceme
950+ (c++)"unity::scopes::experimental::DateTimePickerFilter::has_minimum() const@Base" 0replaceme
951+ (c++)"unity::scopes::experimental::DateTimePickerFilter::has_selected_date(unity::scopes::FilterState const&) const@Base" 0replaceme
952+ (c++)"unity::scopes::experimental::DateTimePickerFilter::maximum() const@Base" 0replaceme
953+ (c++)"unity::scopes::experimental::DateTimePickerFilter::minimum() const@Base" 0replaceme
954+ (c++)"unity::scopes::experimental::DateTimePickerFilter::mode() const@Base" 0replaceme
955+ (c++)"unity::scopes::experimental::DateTimePickerFilter::selected_date(unity::scopes::FilterState const&) const@Base" 0replaceme
956+ (c++)"unity::scopes::experimental::DateTimePickerFilter::set_date_label(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0replaceme
957+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::experimental::DateTimePickerFilter::set_maximum(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&)@Base" 0replaceme
958+ (c++|arch=armhf i386 powerpc)"unity::scopes::experimental::DateTimePickerFilter::set_maximum(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> > > const&)@Base" 0replaceme
959+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::experimental::DateTimePickerFilter::set_minimum(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&)@Base" 0replaceme
960+ (c++|arch=armhf i386 powerpc)"unity::scopes::experimental::DateTimePickerFilter::set_minimum(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> > > const&)@Base" 0replaceme
961+ (c++)"unity::scopes::experimental::DateTimePickerFilter::set_time_label(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0replaceme
962+ (c++)"unity::scopes::experimental::DateTimePickerFilter::time_label() const@Base" 0replaceme
963+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::experimental::DateTimePickerFilter::update_state(unity::scopes::FilterState&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&)@Base" 0replaceme
964+ (c++|arch=armhf i386 powerpc)"unity::scopes::experimental::DateTimePickerFilter::update_state(unity::scopes::FilterState&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> > > const&)@Base" 0replaceme
965+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::experimental::DateTimePickerFilter::update_state(unity::scopes::FilterState&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) const@Base" 0replaceme
966+ (c++|arch=armhf i386 powerpc)"unity::scopes::experimental::DateTimePickerFilter::update_state(unity::scopes::FilterState&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> > > const&) const@Base" 0replaceme
967 (c++)"unity::scopes::experimental::RadioButtonsFilter::active_option(unity::scopes::FilterState const&) const@Base" 0.5.0+14.10.20140619
968 (c++)"unity::scopes::experimental::RadioButtonsFilter::add_option(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.5.0+14.10.20140619
969 (c++)"unity::scopes::experimental::RadioButtonsFilter::create(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.5.0+14.10.20140619
970@@ -426,6 +455,7 @@
971 (c++)"unity::scopes::internal::RuntimeConfig::trace_channels() const@Base" 0.6.11+15.04.20150119
972 (c++)"unity::scopes::internal::RuntimeImpl::async_pool() const@Base" 0.4.3+14.10.20140428
973 (c++)"unity::scopes::internal::RuntimeImpl::cache_directory() const@Base" 0.6.14+15.04.20150213
974+ (c++)"unity::scopes::internal::RuntimeImpl::config_directory() const@Base" 0replaceme
975 (c++)"unity::scopes::internal::RuntimeImpl::confined() const@Base" 0.6.8+15.04.20141119
976 (c++)"unity::scopes::internal::RuntimeImpl::confinement_type() const@Base" 0.6.8+15.04.20141119
977 (c++)"unity::scopes::internal::RuntimeImpl::create(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
978@@ -485,8 +515,9 @@
979 (c++)"unity::scopes::internal::ScopeImpl::runtime() const@Base" 0.6.12+15.04.20150127.2
980 (c++)"unity::scopes::internal::ScopeImpl::~ScopeImpl()@Base" 0.4.0+14.04.20140312.1
981 (c++)"unity::scopes::internal::ScopeImpl::ScopeImpl(std::shared_ptr<unity::scopes::internal::MWScope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.6.11+15.04.20150119
982+ (c++)"unity::scopes::internal::ScopeImpl::search(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::unique_ptr<unity::scopes::Variant, std::default_delete<unity::scopes::Variant> >, unity::scopes::SearchMetadata const&, std::vector<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0replaceme
983 (c++)"unity::scopes::internal::ScopeImpl::search(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
984- (c++)"unity::scopes::internal::ScopeImpl::search(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::vector<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.12+15.04.20150127.2
985+ (c++)"unity::scopes::internal::ScopeImpl::search(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::Variant const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0replaceme
986 (c++)"unity::scopes::internal::ScopeImpl::search(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
987 (c++)"unity::scopes::internal::ScopeImpl::search(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
988 (c++)"unity::scopes::internal::ScopeImpl::search(unity::scopes::CannedQuery const&, unity::scopes::SearchMetadata const&, std::vector<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::tuple<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.12+15.04.20150127.2
989@@ -840,6 +871,7 @@
990 (c++)"unity::scopes::SearchMetadata::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.4.0+14.04.20140312.1
991 (c++)"unity::scopes::SearchMetadata::operator=(unity::scopes::SearchMetadata&&)@Base" 0.4.0+14.04.20140312.1
992 (c++)"unity::scopes::SearchMetadata::operator=(unity::scopes::SearchMetadata const&)@Base" 0.4.0+14.04.20140312.1
993+ (c++)"unity::scopes::SearchMetadata::remove_location()@Base" 0replaceme
994 (c++)"unity::scopes::SearchMetadata::~SearchMetadata()@Base" 0.4.0+14.04.20140312.1
995 (c++)"unity::scopes::SearchMetadata::SearchMetadata(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
996 (c++)"unity::scopes::SearchMetadata::SearchMetadata(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
997@@ -859,10 +891,12 @@
998 (c++)"unity::scopes::SearchQueryBase::set_department_id(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.5.0+14.10.20140619
999 (c++)"unity::scopes::SearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
1000 (c++)"unity::scopes::SearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
1001+ (c++)"unity::scopes::SearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::Variant const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0replaceme
1002 (c++)"unity::scopes::SearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
1003 (c++)"unity::scopes::SearchQueryBase::subsearch(std::shared_ptr<unity::scopes::Scope> const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.4.0+14.04.20140312.1
1004 (c++)"unity::scopes::SearchQueryBase::subsearch(unity::scopes::ChildScope const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.15+15.04.20150407
1005 (c++)"unity::scopes::SearchQueryBase::subsearch(unity::scopes::ChildScope const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.15+15.04.20150407
1006+ (c++)"unity::scopes::SearchQueryBase::subsearch(unity::scopes::ChildScope const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unity::scopes::FilterState const&, unity::scopes::Variant const&, unity::scopes::SearchMetadata const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0replaceme
1007 (c++)"unity::scopes::SearchQueryBase::subsearch(unity::scopes::ChildScope const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<unity::scopes::SearchListenerBase> const&)@Base" 0.6.15+15.04.20150407
1008 (c++)"unity::scopes::SearchReply::~SearchReply()@Base" 0.4.0+14.04.20140312.1
1009 (c++)"unity::scopes::SearchReply::SearchReply()@Base" 0.4.0+14.04.20140312.1
1010@@ -952,6 +986,7 @@
1011 (c++)"unity::scopes::Variant::get_bool() const@Base" 0.4.0+14.04.20140312.1
1012 (c++)"unity::scopes::Variant::get_dict() const@Base" 0.4.0+14.04.20140312.1
1013 (c++)"unity::scopes::Variant::get_double() const@Base" 0.4.0+14.04.20140312.1
1014+ (c++)"unity::scopes::Variant::get_int64_t() const@Base" 0replaceme
1015 (c++)"unity::scopes::Variant::get_int() const@Base" 0.4.0+14.04.20140312.1
1016 (c++)"unity::scopes::Variant::get_string() const@Base" 0.4.0+14.04.20140312.1
1017 (c++)"unity::scopes::Variant::is_null() const@Base" 0.4.0+14.04.20140312.1
1018@@ -960,6 +995,8 @@
1019 (c++)"unity::scopes::Variant::operator=(char const*)@Base" 0.4.0+14.04.20140312.1
1020 (c++)"unity::scopes::Variant::operator=(double)@Base" 0.4.0+14.04.20140312.1
1021 (c++)"unity::scopes::Variant::operator=(int)@Base" 0.4.0+14.04.20140312.1
1022+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::Variant::operator=(long)@Base" 0replaceme
1023+ (c++|arch=armhf i386 powerpc)"unity::scopes::Variant::operator=(long long)@Base" 0replaceme
1024 (c++)"unity::scopes::Variant::operator=(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
1025 (c++)"unity::scopes::Variant::operator=(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unity::scopes::Variant, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unity::scopes::Variant> > > const&)@Base" 0.4.0+14.04.20140312.1
1026 (c++)"unity::scopes::Variant::operator=(std::vector<unity::scopes::Variant, std::allocator<unity::scopes::Variant> > const&)@Base" 0.4.0+14.04.20140312.1
1027@@ -975,6 +1012,8 @@
1028 (c++)"unity::scopes::Variant::Variant(char const*)@Base" 0.4.0+14.04.20140312.1
1029 (c++)"unity::scopes::Variant::Variant(double)@Base" 0.4.0+14.04.20140312.1
1030 (c++)"unity::scopes::Variant::Variant(int)@Base" 0.4.0+14.04.20140312.1
1031+ (c++|arch=amd64 ppc64el arm64)"unity::scopes::Variant::Variant(long)@Base" 0replaceme
1032+ (c++|arch=armhf i386 powerpc)"unity::scopes::Variant::Variant(long long)@Base" 0replaceme
1033 (c++)"unity::scopes::Variant::Variant(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.4.0+14.04.20140312.1
1034 (c++)"unity::scopes::Variant::Variant(std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unity::scopes::Variant, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unity::scopes::Variant> > > const&)@Base" 0.4.0+14.04.20140312.1
1035 (c++)"unity::scopes::Variant::Variant(std::vector<unity::scopes::Variant, std::allocator<unity::scopes::Variant> > const&)@Base" 0.4.0+14.04.20140312.1
1036@@ -1008,6 +1047,7 @@
1037 (c++)"vtable for unity::scopes::CategoryRenderer@Base" 0.4.0+14.04.20140312.1
1038 (c++)"vtable for unity::scopes::ConfigException@Base" 0.4.0+14.04.20140312.1
1039 (c++)"vtable for unity::scopes::experimental::Annotation@Base" 0.5.0+14.10.20140619
1040+ (c++)"vtable for unity::scopes::experimental::DateTimePickerFilter@Base" 0replaceme
1041 (c++)"vtable for unity::scopes::experimental::RadioButtonsFilter@Base" 0.5.0+14.10.20140619
1042 (c++)"vtable for unity::scopes::experimental::RangeInputFilter@Base" 0.5.0+14.10.20140619
1043 (c++)"vtable for unity::scopes::experimental::RatingFilter@Base" 0.5.0+14.10.20140619
1044
1045=== modified file 'doc/tutorial.dox'
1046--- doc/tutorial.dox 2015-01-20 04:34:17 +0000
1047+++ doc/tutorial.dox 2015-04-10 18:54:31 +0000
1048@@ -72,7 +72,7 @@
1049 }
1050 \endcode
1051
1052-\subsubsection multiarch Multi-arch click packages
1053+\subsubsection multiarch_click Multi-arch click packages
1054 The search path for the shared library inside a click package is as follows:
1055
1056 <ul>
1057
1058=== modified file 'include/unity/scopes/CannedQuery.h'
1059--- include/unity/scopes/CannedQuery.h 2014-11-03 05:31:30 +0000
1060+++ include/unity/scopes/CannedQuery.h 2015-04-10 18:54:31 +0000
1061@@ -39,7 +39,11 @@
1062 \brief Parameters of a search query.
1063
1064 Holds all parameters of a search query: the target scope id, query string, department id, and
1065-state of the filters. Can be converted to/from scope:// uri schema string.
1066+state of the filters. CannedQuery can also carry arbitrary data (set by calling CannedQuery::set_user_data(Variant const&))
1067+which can then be retrieved back with CannedQuery::user_data() when CannedQuery object is received in ScopeBase::search. This arbitrary
1068+data can be used to store any state-related information that may be useful for the scope when new search request is performed.
1069+
1070+Can be converted to/from scope:// uri schema string.
1071 */
1072
1073 class CannedQuery final
1074@@ -133,6 +137,28 @@
1075 */
1076 static CannedQuery from_uri(std::string const& uri);
1077
1078+ /**
1079+ \brief Attach arbitrary data.
1080+
1081+ \param value Data to attach to this canned query
1082+ */
1083+ void set_user_data(Variant const& value);
1084+
1085+ /**
1086+ \brief Checks if user data has been attached to this query.
1087+
1088+ \return true if data is available.
1089+ */
1090+ bool has_user_data() const;
1091+
1092+ /**
1093+ \brief Get user data attached to this query.
1094+
1095+ \return Data variant
1096+ \throws unity::LogicException if user data is not available.
1097+ */
1098+ Variant user_data() const;
1099+
1100 private:
1101 CannedQuery(internal::CannedQueryImpl *impl);
1102 std::unique_ptr<internal::CannedQueryImpl> p;
1103
1104=== added file 'include/unity/scopes/DateTimePickerFilter.h'
1105--- include/unity/scopes/DateTimePickerFilter.h 1970-01-01 00:00:00 +0000
1106+++ include/unity/scopes/DateTimePickerFilter.h 2015-04-10 18:54:31 +0000
1107@@ -0,0 +1,211 @@
1108+/*
1109+ * Copyright (C) 2015 Canonical Ltd
1110+ *
1111+ * This program is free software: you can redistribute it and/or modify
1112+ * it under the terms of the GNU Lesser General Public License version 3 as
1113+ * published by the Free Software Foundation.
1114+ *
1115+ * This program is distributed in the hope that it will be useful,
1116+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1117+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1118+ * GNU Lesser General Public License for more details.
1119+ *
1120+ * You should have received a copy of the GNU Lesser General Public License
1121+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
1122+ *
1123+ * Authored by: Pawel Stolowski <pawel.stolowski@canonical.com>
1124+ */
1125+
1126+#pragma once
1127+
1128+#include <unity/scopes/FilterBase.h>
1129+#include <chrono>
1130+#include <bitset>
1131+
1132+namespace unity
1133+{
1134+
1135+namespace scopes
1136+{
1137+class FilterState;
1138+
1139+namespace internal
1140+{
1141+class DateTimePickerFilterImpl;
1142+}
1143+
1144+namespace experimental
1145+{
1146+
1147+/**
1148+\brief A date and/or time picker filter.
1149+
1150+The DateTimePickerFilter displays a date and/or time picker widget, that can optionally be
1151+constrained by minimum and maximum point in time.
1152+*/
1153+
1154+class DateTimePickerFilter : public FilterBase
1155+{
1156+public:
1157+/// @cond
1158+ UNITY_DEFINES_PTRS(DateTimePickerFilter);
1159+/// @endcond
1160+
1161+ /**
1162+ \brief Flags that specify what kind of value selectors should be shown by the picker.
1163+
1164+ These correspond to the "mode" flags of Ubuntu SDK's DatePicker QML widget. However, unlike the QML widget,
1165+ DateTimePickerFilter's mode can combine both date and time values, in which case two DatePicker widgets will
1166+ be displayed.
1167+ */
1168+ enum ModeFlags {
1169+ Years,
1170+ Months,
1171+ Days,
1172+ Hours,
1173+ Minutes,
1174+ Seconds
1175+ };
1176+
1177+ /**
1178+ \brief A combination of ModeFlags
1179+ */
1180+ typedef std::bitset<6> Mode;
1181+
1182+ /**
1183+ \brief Create DateTimePickerFilter.
1184+
1185+ Creates DateTimePickerFilter with given id and mode.
1186+
1187+ \param id A unique identifier for the filter that can be used to identify it later among several filters.
1188+ \param mode Mode flags that configure values displayed by the filter in the UI.
1189+ */
1190+ static DateTimePickerFilter::UPtr create(std::string const& id, Mode mode);
1191+
1192+ /**
1193+ \brief Sets optional label for the time widget.
1194+
1195+ Sets the label to be displayed alongside time widget. Note that whether the label is displayed
1196+ depends on the Mode flags.
1197+ */
1198+ void set_time_label(std::string const& label);
1199+
1200+ /**
1201+ \brief Sets optional label for the date widget.
1202+
1203+ Sets the label to be displayed alongside date widget. Note that whether the label is displayed
1204+ depends on the Mode flags.
1205+ */
1206+ void set_date_label(std::string const& label);
1207+
1208+ /**
1209+ \brief Sets optional minimum allowed date.
1210+
1211+ Sets the minimum date allowed by this filter. This will constrain values displayed by the UI
1212+ and passed to the scope.
1213+ */
1214+ void set_minimum(std::chrono::system_clock::time_point const& date);
1215+
1216+ /**
1217+ \brief Sets optional maximum allowed date.
1218+
1219+ Sets the minimum date allowed by this filter. This will constrain values displayed by the UI
1220+ and passed to the scope.
1221+ */
1222+ void set_maximum(std::chrono::system_clock::time_point const& date);
1223+
1224+ /**
1225+ \brief Get label of the time widget.
1226+
1227+ \return The label
1228+ */
1229+ std::string time_label() const;
1230+
1231+ /**
1232+ \brief Get label of the date widget.
1233+
1234+ \return The label
1235+ */
1236+ std::string date_label() const;
1237+
1238+ /**
1239+ \brief Get mode of this filter.
1240+
1241+ \return The filter mode
1242+ */
1243+ Mode mode() const;
1244+
1245+ /**
1246+ \brief Checks if a minimum date has been set for this filter.
1247+
1248+ \return true if minimum date has been set
1249+ */
1250+ bool has_minimum() const;
1251+
1252+ /**
1253+ \brief Checks if a maximum date has been set for this filter.
1254+
1255+ \return true if maximum date has been set
1256+ */
1257+ bool has_maximum() const;
1258+
1259+ /**
1260+ \brief Get minimum date set for this filter.
1261+
1262+ \return The minimum date
1263+ \throws unity::LogicException if minimum date hasn't been set
1264+ */
1265+ std::chrono::system_clock::time_point minimum() const;
1266+
1267+ /**
1268+ \brief Get maximum date set for this filter.
1269+
1270+ \return The maximum date
1271+ \throws unity::LogicException if maximum date hasn't been set
1272+ */
1273+ std::chrono::system_clock::time_point maximum() const;
1274+
1275+ /**
1276+ \brief Check if filter state object holds a date set for this filter.
1277+
1278+ \return true if filter_state has a date for this filter.
1279+ */
1280+ bool has_selected_date(FilterState const& filter_state) const;
1281+
1282+ /**
1283+ \brief Get selected date.
1284+
1285+ \return The selected date
1286+ \throws unity::scopes::NotFoundException if date is not set.
1287+ \throws unity::LogicException if selected date is invalid (e.g. out of minimum and maximum range)
1288+ */
1289+ std::chrono::system_clock::time_point selected_date(FilterState const& filter_state) const;
1290+
1291+ /**
1292+ \brief Sets selected date for this filter in the filter state object.
1293+
1294+ \throws unity::LogicException if date is out of (minimum, maximum) range (as long as they were set).
1295+ */
1296+ void update_state(FilterState& filter_state, std::chrono::system_clock::time_point const& date) const;
1297+
1298+ /**
1299+ \brief Sets selected date for this filter in the filter state object, without having an instance of DateTimePickerFilter.
1300+
1301+ Updates an instance of FilterState, without the need for a DateTimePickerFilter instance. This is meant
1302+ to be used when creating a canned Query that references another scope.
1303+ Note: this method doesn't cannot validate date against minimum / maximum dates the filter may expect; the date will be
1304+ validated in DateTimePickerFilter::selected_date(FilterState const&) when received by the scope.
1305+ */
1306+ static void update_state(FilterState& filter_state, std::string const& filter_id, std::chrono::system_clock::time_point const& date);
1307+
1308+private:
1309+ DateTimePickerFilter(internal::DateTimePickerFilterImpl*);
1310+ internal::DateTimePickerFilterImpl* fwd() const;
1311+ friend class internal::DateTimePickerFilterImpl;
1312+};
1313+
1314+} // namespace experimental
1315+
1316+} // namespace scopes
1317+
1318+} // namespace unity
1319
1320=== modified file 'include/unity/scopes/Result.h'
1321--- include/unity/scopes/Result.h 2014-11-03 05:31:30 +0000
1322+++ include/unity/scopes/Result.h 2015-04-10 18:54:31 +0000
1323@@ -229,11 +229,10 @@
1324 */
1325 VariantMap serialize() const;
1326
1327+ /// @cond
1328 protected:
1329- /// @cond
1330 explicit Result(const VariantMap &variant_map);
1331 explicit Result(internal::ResultImpl* impl);
1332- /// @endcond
1333
1334 private:
1335 std::unique_ptr<internal::ResultImpl> p;
1336@@ -241,6 +240,7 @@
1337 friend class internal::ResultImpl;
1338 friend class internal::ScopeImpl;
1339 friend class CategorisedResult;
1340+ /// @endcond
1341 };
1342
1343 } // namespace scopes
1344
1345=== modified file 'include/unity/scopes/Scope.h'
1346--- include/unity/scopes/Scope.h 2015-03-25 05:52:25 +0000
1347+++ include/unity/scopes/Scope.h 2015-04-10 18:54:31 +0000
1348@@ -156,6 +156,26 @@
1349 */
1350 virtual bool set_child_scopes(ChildScopeList const& child_scopes) = 0;
1351
1352+ /**
1353+ \brief Initiates a search query (overloaded method).
1354+
1355+ This method has same synopsis as previous search method, but it takes additional user_data argument.
1356+
1357+ \param query_string search string
1358+ \param department_id identifier of a department to search
1359+ \param filter_state state of filters
1360+ \param user_data arbitrary data
1361+ \param metadata additional data to pass to scope
1362+ \param reply The callback object to receive replies
1363+ \return query handler
1364+ */
1365+ virtual QueryCtrlProxy search(std::string const& query_string,
1366+ std::string const& department_id,
1367+ FilterState const& filter_state,
1368+ Variant const& user_data,
1369+ SearchMetadata const& metadata,
1370+ SearchListenerBase::SPtr const& reply) = 0;
1371+
1372 protected:
1373 /// @cond
1374 Scope();
1375
1376=== modified file 'include/unity/scopes/ScopeBase.h'
1377--- include/unity/scopes/ScopeBase.h 2015-03-27 04:33:06 +0000
1378+++ include/unity/scopes/ScopeBase.h 2015-04-10 18:54:31 +0000
1379@@ -104,8 +104,7 @@
1380 - a create function that must return a pointer to the derived instance
1381 - a destroy function that is passed the pointer returned by the create function
1382
1383-Typically, the create and destroy functions will simply call `new` and `delete`, respectively. (However,
1384-there is no requirement that the derived class instance must be heap-allocated.)
1385+Typically, the create and destroy functions will simply call `new` and `delete`, respectively.
1386 If the create function throws an exception, the destroy function will not be called. If the create function returns
1387 NULL, the destroy function _will_ be called with NULL as its argument.
1388
1389@@ -116,13 +115,13 @@
1390 unity::scopes::ScopeBase*
1391 UNITY_SCOPE_CREATE_FUNCTION()
1392 {
1393- return new MyScope; // Example only, heap-allocation is not mandatory
1394+ return new MyScope;
1395 }
1396
1397 void
1398 UNITY_SCOPE_DESTROY_FUNCTION(unity::scopes::ScopeBase* scope)
1399 {
1400- delete scope; // Example only, heap-allocation is not mandatory
1401+ delete scope;
1402 }
1403 ~~~
1404
1405@@ -377,8 +376,7 @@
1406 /**
1407 \brief The function called by the scopes run time to initialize the scope.
1408 It must return a pointer to an instance derived from `ScopeBase`. The returned
1409-instance need not be heap-allocated, but must remain in scope until the
1410-destroy function is called by the scopes run time.
1411+instance must remain in scope until the destroy function is called by the scopes run time.
1412
1413 If this function throws an exception, the destroy function will _not_ be called. If this function returns NULL,
1414 the destroy function _will_ be called with NULL as its argument.
1415
1416=== modified file 'include/unity/scopes/SearchMetadata.h'
1417--- include/unity/scopes/SearchMetadata.h 2015-03-27 00:57:18 +0000
1418+++ include/unity/scopes/SearchMetadata.h 2015-04-10 18:54:31 +0000
1419@@ -111,6 +111,13 @@
1420 bool has_location() const;
1421
1422 /**
1423+ \brief Remove location data entirely.
1424+
1425+ This method does nothing if no location data is present.
1426+ */
1427+ void remove_location();
1428+
1429+ /**
1430 \brief Set the list of scope keywords used to initiate this search request.
1431 \param aggregated_keywords The list of scope keywords used to initiate this search request.
1432 */
1433
1434=== modified file 'include/unity/scopes/SearchQueryBase.h'
1435--- include/unity/scopes/SearchQueryBase.h 2015-04-01 16:08:51 +0000
1436+++ include/unity/scopes/SearchQueryBase.h 2015-04-10 18:54:31 +0000
1437@@ -57,7 +57,7 @@
1438 /**
1439 \brief Abstract base class to represent a particular query.
1440
1441-A scope must return an instance of this class from its implementation of ScopeBase::create_query().
1442+A scope must return an instance of this class from its implementation of ScopeBase::search().
1443
1444 \note The constructor of the instance must complete in a timely manner. Do not perform anything in the
1445 constructor that might block.
1446@@ -134,6 +134,20 @@
1447 FilterState const& filter_state,
1448 SearchMetadata const& hints,
1449 SearchListenerBase::SPtr const& reply);
1450+ QueryCtrlProxy subsearch(ChildScope const& scope,
1451+ std::string const& query_string,
1452+ std::string const& department_id,
1453+ FilterState const& filter_state,
1454+ Variant const& user_data,
1455+ SearchMetadata const& hints,
1456+ SearchListenerBase::SPtr const& reply);
1457+ QueryCtrlProxy subsearch(ScopeProxy const& scope,
1458+ std::string const& query_string,
1459+ std::string const& department_id,
1460+ FilterState const& filter_state,
1461+ Variant const& user_data,
1462+ SearchMetadata const& hints,
1463+ SearchListenerBase::SPtr const& reply);
1464 //@}
1465
1466 /**
1467
1468=== modified file 'include/unity/scopes/Variant.h'
1469--- include/unity/scopes/Variant.h 2014-11-03 05:31:30 +0000
1470+++ include/unity/scopes/Variant.h 2015-04-10 18:54:31 +0000
1471@@ -60,7 +60,7 @@
1472 /**
1473 \brief Type of value held by a Variant instance.
1474 */
1475- enum Type { Null, Int, Bool, String, Double, Dict, Array };
1476+ enum Type { Null, Int, Bool, String, Double, Dict, Array, Int64 };
1477
1478 /**@name Constructors and destructor
1479 */
1480@@ -74,6 +74,8 @@
1481 */
1482 explicit Variant(int val) noexcept;
1483
1484+ explicit Variant(int64_t val) noexcept;
1485+
1486 /**
1487 \brief Creates a Variant instance that stores the supplied double.
1488 */
1489@@ -125,6 +127,7 @@
1490 */
1491 //{@
1492 Variant& operator=(int val) noexcept;
1493+ Variant& operator=(int64_t val) noexcept;
1494 Variant& operator=(double val) noexcept;
1495 Variant& operator=(bool val) noexcept;
1496 Variant& operator=(std::string const& val);
1497@@ -152,6 +155,7 @@
1498 */
1499 //{@
1500 int get_int() const;
1501+ int64_t get_int64_t() const;
1502 double get_double() const;
1503 bool get_bool() const;
1504 std::string get_string() const;
1505
1506=== removed file 'include/unity/scopes/internal/''
1507--- include/unity/scopes/internal/' 2015-01-09 07:10:07 +0000
1508+++ include/unity/scopes/internal/' 1970-01-01 00:00:00 +0000
1509@@ -1,59 +0,0 @@
1510-/*
1511- * Copyright (C) 2013 Canonical Ltd
1512- *
1513- * This program is free software: you can redistribute it and/or modify
1514- * it under the terms of the GNU Lesser General Public License version 3 as
1515- * published by the Free Software Foundation.
1516- *
1517- * This program is distributed in the hope that it will be useful,
1518- * but WITHOUT ANY WARRANTY; without even the implied warranty of
1519- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1520- * GNU Lesser General Public License for more details.
1521- *
1522- * You should have received a copy of the GNU Lesser General Public License
1523- * along with this program. If not, see <http://www.gnu.org/licenses/>.
1524- *
1525- * Authored by: Michi Henning <michi.henning@canonical.com>
1526- */
1527-
1528-#pragma once
1529-
1530-#include <unity/scopes/internal/MWRegistryProxyFwd.h>
1531-#include <unity/scopes/internal/ObjectImpl.h>
1532-#include <unity/scopes/Registry.h>
1533-
1534-namespace unity
1535-{
1536-
1537-namespace scopes
1538-{
1539-
1540-namespace internal
1541-{
1542-
1543-class RegistryImpl : public virtual unity::scopes::Registry, public virtual ObjectImpl
1544-{
1545-public:
1546- RegistryImpl(MWRegistryProxy const& mw_proxy);
1547- ~RegistryImpl();
1548-
1549- virtual ScopeMetadata get_metadata(std::string const& scope_id) override;
1550- virtual MetadataMap list() override;
1551- virtual MetadataMap list_if(std::function<bool(ScopeMetadata const& item)> predicate) override;
1552- virtual bool is_scope_running(std::string const& scope_id) override;
1553-
1554- virtual core::ScopedConnection set_scope_state_callback(std::string const& scope_id, std::function<void(bool)> callback) override;
1555- virtual core::ScopedConnection set_list_update_callback(std::function<void()> callback) override;
1556-
1557- // Remote operation. Not part of public API, hence not override.
1558- ObjectProxy locate(std::string const& identity);
1559-
1560-private:
1561- MWRegistryProxy fwd();
1562-};
1563-
1564-} // namespace internal
1565-
1566-} // namespace scopes
1567-
1568-} // namespace unity
1569
1570=== modified file 'include/unity/scopes/internal/CannedQueryImpl.h'
1571--- include/unity/scopes/internal/CannedQueryImpl.h 2014-11-03 05:31:30 +0000
1572+++ include/unity/scopes/internal/CannedQueryImpl.h 2015-04-10 18:54:31 +0000
1573@@ -40,9 +40,9 @@
1574 explicit CannedQueryImpl(std::string const& scope_id);
1575 CannedQueryImpl(std::string const& scope_id, std::string const& query_str, std::string const& department_id);
1576 CannedQueryImpl(VariantMap const& variant);
1577- CannedQueryImpl(CannedQueryImpl const &other) = default;
1578+ CannedQueryImpl(CannedQueryImpl const &other);
1579 CannedQueryImpl(CannedQueryImpl&&) = default;
1580- CannedQueryImpl& operator=(CannedQueryImpl const& other) = default;
1581+ CannedQueryImpl& operator=(CannedQueryImpl const& other);
1582 CannedQueryImpl& operator=(CannedQueryImpl&&) = default;
1583
1584 void set_department_id(std::string const& dep_id);
1585@@ -56,6 +56,9 @@
1586 std::string to_uri() const;
1587 static CannedQuery from_uri(std::string const& uri);
1588 static CannedQuery create(VariantMap const& var);
1589+ void set_user_data(Variant const& value);
1590+ bool has_user_data() const;
1591+ Variant user_data() const;
1592
1593 static const std::string scopes_schema;
1594
1595@@ -65,6 +68,7 @@
1596 std::string query_string_;
1597 std::string department_id_;
1598 FilterState filter_state_;
1599+ std::unique_ptr<Variant> user_data_;
1600 };
1601
1602 } // namespace internal
1603
1604=== added file 'include/unity/scopes/internal/DateTimePickerFilterImpl.h'
1605--- include/unity/scopes/internal/DateTimePickerFilterImpl.h 1970-01-01 00:00:00 +0000
1606+++ include/unity/scopes/internal/DateTimePickerFilterImpl.h 2015-04-10 18:54:31 +0000
1607@@ -0,0 +1,88 @@
1608+/*
1609+ * Copyright (C) 2015 Canonical Ltd
1610+ *
1611+ * This program is free software: you can redistribute it and/or modify
1612+ * it under the terms of the GNU Lesser General Public License version 3 as
1613+ * published by the Free Software Foundation.
1614+ *
1615+ * This program is distributed in the hope that it will be useful,
1616+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1617+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1618+ * GNU Lesser General Public License for more details.
1619+ *
1620+ * You should have received a copy of the GNU Lesser General Public License
1621+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
1622+ *
1623+ * Authored by: Pawel Stolowski <pawel.stolowski@canonical.com>
1624+ */
1625+
1626+#pragma once
1627+
1628+#include <unity/scopes/internal/FilterBaseImpl.h>
1629+#include <unity/scopes/DateTimePickerFilter.h>
1630+#include <chrono>
1631+
1632+namespace unity
1633+{
1634+
1635+namespace scopes
1636+{
1637+
1638+namespace internal
1639+{
1640+
1641+using namespace experimental;
1642+
1643+class DateTimePickerFilterImpl: public FilterBaseImpl
1644+{
1645+public:
1646+ DateTimePickerFilterImpl(std::string const& id, DateTimePickerFilter::Mode mode);
1647+ DateTimePickerFilterImpl(VariantMap const& var);
1648+
1649+ void set_time_label(std::string const& label);
1650+ void set_date_label(std::string const& label);
1651+
1652+ void set_minimum(std::chrono::system_clock::time_point const& date);
1653+ void set_maximum(std::chrono::system_clock::time_point const& date);
1654+
1655+ std::string time_label() const;
1656+ std::string date_label() const;
1657+
1658+ DateTimePickerFilter::Mode mode() const;
1659+
1660+ bool has_minimum() const;
1661+ bool has_maximum() const;
1662+
1663+ std::chrono::system_clock::time_point minimum() const;
1664+ std::chrono::system_clock::time_point maximum() const;
1665+
1666+ bool has_selected_date(FilterState const& filter_state) const;
1667+ std::chrono::system_clock::time_point selected_date(FilterState const& filter_state) const;
1668+
1669+ void update_state(FilterState& filter_state, std::chrono::system_clock::time_point const& date) const;
1670+
1671+ static void update_state(FilterState& filter_state, std::string const& filter_id, std::chrono::system_clock::time_point const& date);
1672+ static DateTimePickerFilter::SPtr create(VariantMap const& var);
1673+
1674+ static int64_t to_seconds_from_epoch(std::chrono::system_clock::time_point const& tp);
1675+ static std::chrono::system_clock::time_point to_timepoint(int64_t seconds_from_epoch);
1676+
1677+protected:
1678+ void serialize(VariantMap& var) const override;
1679+ void deserialize(VariantMap const& var);
1680+ std::string filter_type() const override;
1681+ bool is_valid_date(std::chrono::system_clock::time_point const& date) const;
1682+
1683+private:
1684+ DateTimePickerFilter::Mode m_mode;
1685+ std::string m_time_label;
1686+ std::string m_date_label;
1687+ std::unique_ptr<std::chrono::system_clock::time_point> m_min;
1688+ std::unique_ptr<std::chrono::system_clock::time_point> m_max;
1689+};
1690+
1691+}
1692+
1693+}
1694+
1695+}
1696
1697=== modified file 'include/unity/scopes/internal/DfltConfig.h.in'
1698--- include/unity/scopes/internal/DfltConfig.h.in 2015-02-04 07:08:27 +0000
1699+++ include/unity/scopes/internal/DfltConfig.h.in 2015-04-10 18:54:31 +0000
1700@@ -61,6 +61,9 @@
1701 static constexpr int DFLT_MAX_LOG_FILE_SIZE = 512 * 1024; // bytes, individual file size
1702 static constexpr int DFLT_MAX_LOG_DIR_SIZE = 2 * 1024 * 1024; // bytes, sum of file sizes
1703
1704+static constexpr bool DFLT_LOCATION_PERMITTED = true; // Whether a scope that wants location data, but does not
1705+ // have a settings.ini file yet, actually gets the data.
1706+
1707 } // namespace internal
1708
1709 } // namespace scopes
1710
1711=== modified file 'include/unity/scopes/internal/QueryCtrlObject.h'
1712--- include/unity/scopes/internal/QueryCtrlObject.h 2014-11-03 05:31:30 +0000
1713+++ include/unity/scopes/internal/QueryCtrlObject.h 2015-04-10 18:54:31 +0000
1714@@ -45,7 +45,7 @@
1715 virtual void cancel(InvokeInfo const& info) override;
1716 virtual void destroy(InvokeInfo const& info) override;
1717
1718- // Called by create_query() after instantiation to tell this ctrl what its corresponding
1719+ // Called by search() after instantiation to tell this ctrl what its corresponding
1720 // query facade is.
1721 void set_query(std::shared_ptr<QueryObjectBase> const& qo);
1722
1723
1724=== modified file 'include/unity/scopes/internal/QueryObject.h'
1725--- include/unity/scopes/internal/QueryObject.h 2015-01-21 23:35:22 +0000
1726+++ include/unity/scopes/internal/QueryObject.h 2015-04-10 18:54:31 +0000
1727@@ -61,7 +61,7 @@
1728 virtual bool pushable(InvokeInfo const& info) const noexcept override; // Called locally, by ReplyImpl
1729 virtual int cardinality(InvokeInfo const& info) const noexcept override; // Called locally, by ReplyImpl
1730
1731- // Called by create_query(), to hold the reference count high until the run call arrives via the middleware,
1732+ // Called by search(), to hold the reference count high until the run call arrives via the middleware,
1733 // and we can pass the shared_ptr to the ReplyImpl.
1734 void set_self(QueryObjectBase::SPtr const& self) noexcept override;
1735
1736
1737=== modified file 'include/unity/scopes/internal/RuntimeImpl.h'
1738--- include/unity/scopes/internal/RuntimeImpl.h 2015-01-20 04:34:17 +0000
1739+++ include/unity/scopes/internal/RuntimeImpl.h 2015-04-10 18:54:31 +0000
1740@@ -64,6 +64,7 @@
1741
1742 std::string cache_directory() const;
1743 std::string tmp_directory() const;
1744+ std::string config_directory() const;
1745
1746 ~RuntimeImpl();
1747
1748
1749=== modified file 'include/unity/scopes/internal/ScopeImpl.h'
1750--- include/unity/scopes/internal/ScopeImpl.h 2015-03-25 05:52:25 +0000
1751+++ include/unity/scopes/internal/ScopeImpl.h 2015-04-10 18:54:31 +0000
1752@@ -66,9 +66,17 @@
1753 SearchMetadata const& metadata,
1754 SearchListenerBase::SPtr const& reply) override;
1755
1756+ virtual QueryCtrlProxy search(std::string const& query_string,
1757+ std::string const& department_id,
1758+ FilterState const& filter_state,
1759+ Variant const& user_data,
1760+ SearchMetadata const& metadata,
1761+ SearchListenerBase::SPtr const& reply) override;
1762+
1763 QueryCtrlProxy search(std::string const& query_string,
1764 std::string const& department_id,
1765 FilterState const& filter_state,
1766+ std::unique_ptr<Variant> user_data,
1767 SearchMetadata const& metadata,
1768 SearchQueryBaseImpl::History const& history,
1769 SearchListenerBase::SPtr const& reply); // Not remote, hence not override
1770
1771=== modified file 'include/unity/scopes/internal/SearchMetadataImpl.h'
1772--- include/unity/scopes/internal/SearchMetadataImpl.h 2015-03-27 00:57:18 +0000
1773+++ include/unity/scopes/internal/SearchMetadataImpl.h 2015-04-10 18:54:31 +0000
1774@@ -53,6 +53,7 @@
1775 void set_location(Location const& location);
1776 Location location() const;
1777 bool has_location() const;
1778+ void remove_location();
1779
1780 void set_aggregated_keywords(std::set<std::string> const& aggregated_keywords);
1781 std::set<std::string> aggregated_keywords() const;
1782
1783=== modified file 'include/unity/scopes/internal/SearchQueryBaseImpl.h'
1784--- include/unity/scopes/internal/SearchQueryBaseImpl.h 2015-04-01 12:31:57 +0000
1785+++ include/unity/scopes/internal/SearchQueryBaseImpl.h 2015-04-10 18:54:31 +0000
1786@@ -58,6 +58,7 @@
1787 std::string const& query_string,
1788 std::string const& department_id,
1789 FilterState const& filter_state,
1790+ std::unique_ptr<Variant> user_data,
1791 SearchMetadata const& metadata,
1792 SearchListenerBase::SPtr const& reply);
1793
1794@@ -65,6 +66,8 @@
1795 bool valid() const override;
1796
1797 private:
1798+ static SearchMetadata filter_metadata(std::shared_ptr<ScopeImpl> const& scope, SearchMetadata const& metdata);
1799+
1800 CannedQuery const canned_query_;
1801 SearchMetadata const search_metadata_;
1802
1803
1804=== modified file 'include/unity/scopes/internal/SearchReplyImpl.h'
1805--- include/unity/scopes/internal/SearchReplyImpl.h 2015-02-05 09:35:42 +0000
1806+++ include/unity/scopes/internal/SearchReplyImpl.h 2015-04-10 18:54:31 +0000
1807@@ -78,7 +78,7 @@
1808
1809 virtual void finished() override;
1810
1811- virtual void push_surfacing_results_from_cache() noexcept;
1812+ virtual void push_surfacing_results_from_cache() noexcept override;
1813
1814 private:
1815 bool push(Category::SCPtr category);
1816
1817=== modified file 'include/unity/scopes/internal/smartscopes/SSQueryCtrlObject.h'
1818--- include/unity/scopes/internal/smartscopes/SSQueryCtrlObject.h 2014-11-03 05:31:30 +0000
1819+++ include/unity/scopes/internal/smartscopes/SSQueryCtrlObject.h 2015-04-10 18:54:31 +0000
1820@@ -48,7 +48,7 @@
1821 virtual void cancel(InvokeInfo const& info) override;
1822 virtual void destroy(InvokeInfo const& info) override;
1823
1824- // Called by create_query() after instantiation to tell this ctrl what its corresponding
1825+ // Called by search() after instantiation to tell this ctrl what its corresponding
1826 // query facade is.
1827 void set_query(std::shared_ptr<QueryObjectBase> const& qo);
1828
1829
1830=== modified file 'include/unity/scopes/qt/HttpAsyncReader.h'
1831--- include/unity/scopes/qt/HttpAsyncReader.h 2014-12-18 16:22:20 +0000
1832+++ include/unity/scopes/qt/HttpAsyncReader.h 2015-04-10 18:54:31 +0000
1833@@ -1,20 +1,21 @@
1834 /*
1835-* Copyright (C) 2014 Canonical, Ltd.
1836-*
1837-* This library is free software; you can redistribute it and/or modify it under
1838-* the terms of version 3 of the GNU Lesser General Public License as published
1839-* by the Free Software Foundation.
1840-*
1841-* This library is distributed in the hope that it will be useful, but WITHOUT
1842-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1843-* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
1844-* details.
1845-*
1846-* You should have received a copy of the GNU Lesser General Public License
1847-* along with this program. If not, see <http://www.gnu.org/licenses/>.
1848-*
1849-* Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
1850-*/
1851+ * Copyright (C) 2014 Canonical Ltd
1852+ *
1853+ * This program is free software: you can redistribute it and/or modify
1854+ * it under the terms of the GNU Lesser General Public License version 3 as
1855+ * published by the Free Software Foundation.
1856+ *
1857+ * This program is distributed in the hope that it will be useful,
1858+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1859+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1860+ * GNU Lesser General Public License for more details.
1861+ *
1862+ * You should have received a copy of the GNU Lesser General Public License
1863+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
1864+ *
1865+ * Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
1866+ */
1867+
1868 #pragma once
1869
1870 #ifndef _ENABLE_QT_EXPERIMENTAL_
1871@@ -159,7 +160,7 @@
1872 * \return Result of the given future.
1873 */
1874 template <typename T>
1875- static T get_or_throw(std::future<T>& f, int64_t seconds = 10);
1876+ static T get_or_throw(std::future<T>& f, int64_t seconds = 20);
1877
1878 /**
1879 * \brief Constructs a URI with the given host and parameters.
1880
1881=== modified file 'include/unity/scopes/qt/JsonAsyncReader.h'
1882--- include/unity/scopes/qt/JsonAsyncReader.h 2015-01-20 14:14:26 +0000
1883+++ include/unity/scopes/qt/JsonAsyncReader.h 2015-04-10 18:54:31 +0000
1884@@ -1,20 +1,21 @@
1885 /*
1886-* Copyright (C) 2014 Canonical, Ltd.
1887-*
1888-* This library is free software; you can redistribute it and/or modify it under
1889-* the terms of version 3 of the GNU Lesser General Public License as published
1890-* by the Free Software Foundation.
1891-*
1892-* This library is distributed in the hope that it will be useful, but WITHOUT
1893-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1894-* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
1895-* details.
1896-*
1897-* You should have received a copy of the GNU Lesser General Public License
1898-* along with this program. If not, see <http://www.gnu.org/licenses/>.
1899-*
1900-* Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
1901-*/
1902+ * Copyright (C) 2014 Canonical Ltd
1903+ *
1904+ * This program is free software: you can redistribute it and/or modify
1905+ * it under the terms of the GNU Lesser General Public License version 3 as
1906+ * published by the Free Software Foundation.
1907+ *
1908+ * This program is distributed in the hope that it will be useful,
1909+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1910+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1911+ * GNU Lesser General Public License for more details.
1912+ *
1913+ * You should have received a copy of the GNU Lesser General Public License
1914+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
1915+ *
1916+ * Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
1917+ */
1918+
1919 #pragma once
1920
1921 #ifndef _ENABLE_QT_EXPERIMENTAL_
1922
1923=== modified file 'include/unity/scopes/qt/JsonReader.h'
1924--- include/unity/scopes/qt/JsonReader.h 2014-12-16 21:01:48 +0000
1925+++ include/unity/scopes/qt/JsonReader.h 2015-04-10 18:54:31 +0000
1926@@ -1,20 +1,21 @@
1927 /*
1928- * Copyright (C) 2014 Canonical, Ltd.
1929- *
1930- * This library is free software; you can redistribute it and/or modify it under
1931- * the terms of version 3 of the GNU Lesser General Public License as published
1932- * by the Free Software Foundation.
1933- *
1934- * This library is distributed in the hope that it will be useful, but WITHOUT
1935- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1936- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
1937- * details.
1938+ * Copyright (C) 2014 Canonical Ltd
1939+ *
1940+ * This program is free software: you can redistribute it and/or modify
1941+ * it under the terms of the GNU Lesser General Public License version 3 as
1942+ * published by the Free Software Foundation.
1943+ *
1944+ * This program is distributed in the hope that it will be useful,
1945+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1946+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1947+ * GNU Lesser General Public License for more details.
1948 *
1949 * You should have received a copy of the GNU Lesser General Public License
1950 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1951 *
1952 * Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
1953 */
1954+
1955 #pragma once
1956
1957 #ifndef _ENABLE_QT_EXPERIMENTAL_
1958
1959=== modified file 'include/unity/scopes/qt/QActionMetadata.h'
1960--- include/unity/scopes/qt/QActionMetadata.h 2015-02-06 00:12:18 +0000
1961+++ include/unity/scopes/qt/QActionMetadata.h 2015-04-10 18:54:31 +0000
1962@@ -15,8 +15,13 @@
1963 *
1964 * Authored by: Xavi Garcia <xavi.garcia.mena@canonical.com>
1965 */
1966+
1967 #pragma once
1968
1969+#ifndef _ENABLE_QT_EXPERIMENTAL_
1970+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
1971+#endif
1972+
1973 #include <unity/util/DefinesPtrs.h>
1974
1975 #pragma GCC diagnostic push
1976@@ -135,7 +140,6 @@
1977 QActionMetadata(internal::QActionMetadataImpl* impl);
1978
1979 std::unique_ptr<internal::QActionMetadataImpl> p;
1980- friend class internal::QActionMetadataImpl;
1981 friend class internal::QPreviewQueryBaseImpl;
1982 friend class QPreviewQueryBaseAPI;
1983 /// @endcond
1984
1985=== modified file 'include/unity/scopes/qt/QCannedQuery.h'
1986--- include/unity/scopes/qt/QCannedQuery.h 2015-02-06 00:12:18 +0000
1987+++ include/unity/scopes/qt/QCannedQuery.h 2015-04-10 18:54:31 +0000
1988@@ -18,6 +18,10 @@
1989
1990 #pragma once
1991
1992+#ifndef _ENABLE_QT_EXPERIMENTAL_
1993+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
1994+#endif
1995+
1996 #include <unity/util/DefinesPtrs.h>
1997 #include <unity/scopes/FilterState.h>
1998
1999@@ -142,6 +146,21 @@
2000 */
2001 static QCannedQuery from_uri(QString const& uri);
2002
2003+ /**
2004+ \brief Checks if user data has been attached to this query.
2005+
2006+ \return true if data is available.
2007+ */
2008+ bool has_user_data() const;
2009+
2010+ /**
2011+ \brief Get user data attached to this query.
2012+
2013+ \return Data variant
2014+ \throws unity::LogicException if data is not available.
2015+ */
2016+ QVariant user_data() const;
2017+
2018 private:
2019 QCannedQuery(internal::QCannedQueryImpl* impl);
2020 QCannedQuery(CannedQuery const& api_query);
2021
2022=== modified file 'include/unity/scopes/qt/QCategorisedResult.h'
2023--- include/unity/scopes/qt/QCategorisedResult.h 2015-01-26 09:27:05 +0000
2024+++ include/unity/scopes/qt/QCategorisedResult.h 2015-04-10 18:54:31 +0000
2025@@ -18,6 +18,10 @@
2026
2027 #pragma once
2028
2029+#ifndef _ENABLE_QT_EXPERIMENTAL_
2030+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2031+#endif
2032+
2033 #include <unity/scopes/qt/QResult.h>
2034 #include <unity/scopes/qt/QCategory.h>
2035
2036
2037=== modified file 'include/unity/scopes/qt/QCategory.h'
2038--- include/unity/scopes/qt/QCategory.h 2015-02-06 00:12:18 +0000
2039+++ include/unity/scopes/qt/QCategory.h 2015-04-10 18:54:31 +0000
2040@@ -18,6 +18,10 @@
2041
2042 #pragma once
2043
2044+#ifndef _ENABLE_QT_EXPERIMENTAL_
2045+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2046+#endif
2047+
2048 #include <unity/util/NonCopyable.h>
2049 #include <unity/util/DefinesPtrs.h>
2050
2051
2052=== modified file 'include/unity/scopes/qt/QColumnLayout.h'
2053--- include/unity/scopes/qt/QColumnLayout.h 2015-02-06 00:12:18 +0000
2054+++ include/unity/scopes/qt/QColumnLayout.h 2015-04-10 18:54:31 +0000
2055@@ -18,6 +18,10 @@
2056
2057 #pragma once
2058
2059+#ifndef _ENABLE_QT_EXPERIMENTAL_
2060+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2061+#endif
2062+
2063 #include <unity/util/DefinesPtrs.h>
2064
2065 #pragma GCC diagnostic push
2066
2067=== modified file 'include/unity/scopes/qt/QDepartment.h'
2068--- include/unity/scopes/qt/QDepartment.h 2015-02-06 00:12:18 +0000
2069+++ include/unity/scopes/qt/QDepartment.h 2015-04-10 18:54:31 +0000
2070@@ -18,6 +18,10 @@
2071
2072 #pragma once
2073
2074+#ifndef _ENABLE_QT_EXPERIMENTAL_
2075+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2076+#endif
2077+
2078 #include <unity/util/DefinesPtrs.h>
2079
2080 #pragma GCC diagnostic push
2081@@ -25,8 +29,6 @@
2082 #include <QtCore/QVariantMap>
2083 #pragma GCC diagnostic pop
2084 #include <QtCore/QString>
2085-#include <QtCore/QSharedPointer>
2086-#include <QtCore/QScopedPointer>
2087
2088 #include <memory>
2089
2090@@ -51,7 +53,7 @@
2091 /*! \typedef QDepartmentList
2092 \brief List of departments (see unity::scopes::qt::QDepartment)
2093 */
2094-typedef QList<QSharedPointer<QDepartment const>> QDepartmentList;
2095+typedef QList<std::shared_ptr<QDepartment const>> QDepartmentList;
2096
2097 /**
2098 \brief A department with optional sub-departments.
2099
2100=== modified file 'include/unity/scopes/qt/QPreviewQueryBase.h'
2101--- include/unity/scopes/qt/QPreviewQueryBase.h 2015-01-26 14:13:31 +0000
2102+++ include/unity/scopes/qt/QPreviewQueryBase.h 2015-04-10 18:54:31 +0000
2103@@ -18,6 +18,10 @@
2104
2105 #pragma once
2106
2107+#ifndef _ENABLE_QT_EXPERIMENTAL_
2108+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2109+#endif
2110+
2111 #include <unity/util/DefinesPtrs.h>
2112 #include <unity/util/NonCopyable.h>
2113
2114@@ -124,7 +128,6 @@
2115 void init(QPreviewQueryBaseAPI* query_api);
2116
2117 std::unique_ptr<internal::QPreviewQueryBaseImpl> p;
2118- friend class internal::QPreviewQueryBaseImpl;
2119 friend class QPreviewQueryBaseAPI;
2120 /// @endcond
2121 };
2122
2123=== modified file 'include/unity/scopes/qt/QPreviewQueryBaseAPI.h'
2124--- include/unity/scopes/qt/QPreviewQueryBaseAPI.h 2015-01-26 14:13:31 +0000
2125+++ include/unity/scopes/qt/QPreviewQueryBaseAPI.h 2015-04-10 18:54:31 +0000
2126@@ -18,6 +18,10 @@
2127
2128 #pragma once
2129
2130+#ifndef _ENABLE_QT_EXPERIMENTAL_
2131+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2132+#endif
2133+
2134 #include <unity/util/DefinesPtrs.h>
2135 #include <unity/util/NonCopyable.h>
2136
2137@@ -41,6 +45,11 @@
2138 namespace qt
2139 {
2140
2141+namespace tests
2142+{
2143+class QPreviewQueryBaseAPIMock;
2144+}
2145+
2146 namespace internal
2147 {
2148 class QScopeBaseAPIImpl;
2149@@ -116,7 +125,11 @@
2150 std::unique_ptr<QPreviewQueryBase> qtquery_;
2151 QScopeBase& qtscope_;
2152
2153+private:
2154+ void init();
2155+
2156 friend internal::QScopeBaseAPIImpl;
2157+ friend unity::scopes::qt::tests::QPreviewQueryBaseAPIMock;
2158 /// @endcond
2159 };
2160
2161
2162=== modified file 'include/unity/scopes/qt/QPreviewReply.h'
2163--- include/unity/scopes/qt/QPreviewReply.h 2015-02-06 00:12:18 +0000
2164+++ include/unity/scopes/qt/QPreviewReply.h 2015-04-10 18:54:31 +0000
2165@@ -18,6 +18,10 @@
2166
2167 #pragma once
2168
2169+#ifndef _ENABLE_QT_EXPERIMENTAL_
2170+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2171+#endif
2172+
2173 #include <unity/util/DefinesPtrs.h>
2174 #include <unity/util/NonCopyable.h>
2175
2176@@ -94,7 +98,6 @@
2177
2178 private:
2179 std::unique_ptr<internal::QPreviewReplyImpl> p;
2180- friend class internal::QPreviewReplyImpl;
2181 friend class QPreviewQueryBaseAPI;
2182 /// @endcond
2183 };
2184
2185=== modified file 'include/unity/scopes/qt/QPreviewReplyProxy.h'
2186--- include/unity/scopes/qt/QPreviewReplyProxy.h 2015-01-20 13:59:36 +0000
2187+++ include/unity/scopes/qt/QPreviewReplyProxy.h 2015-04-10 18:54:31 +0000
2188@@ -18,6 +18,10 @@
2189
2190 #pragma once
2191
2192+#ifndef _ENABLE_QT_EXPERIMENTAL_
2193+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2194+#endif
2195+
2196 #include <unity/scopes/qt/QPreviewReply.h>
2197 #include <memory>
2198
2199
2200=== modified file 'include/unity/scopes/qt/QPreviewWidget.h'
2201--- include/unity/scopes/qt/QPreviewWidget.h 2015-02-06 00:12:18 +0000
2202+++ include/unity/scopes/qt/QPreviewWidget.h 2015-04-10 18:54:31 +0000
2203@@ -18,6 +18,10 @@
2204
2205 #pragma once
2206
2207+#ifndef _ENABLE_QT_EXPERIMENTAL_
2208+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2209+#endif
2210+
2211 #include <unity/util/NonCopyable.h>
2212 #include <unity/util/DefinesPtrs.h>
2213
2214
2215=== modified file 'include/unity/scopes/qt/QResult.h'
2216--- include/unity/scopes/qt/QResult.h 2015-02-06 00:12:18 +0000
2217+++ include/unity/scopes/qt/QResult.h 2015-04-10 18:54:31 +0000
2218@@ -18,6 +18,10 @@
2219
2220 #pragma once
2221
2222+#ifndef _ENABLE_QT_EXPERIMENTAL_
2223+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2224+#endif
2225+
2226 #include <unity/util/DefinesPtrs.h>
2227
2228 #include <unity/scopes/ScopeProxyFwd.h>
2229@@ -63,7 +67,6 @@
2230 UNITY_DEFINES_PTRS(QResult);
2231 /// @endcond
2232
2233- QResult();
2234 /**@name Copy and assignment
2235 Copy and assignment (move and non-move versions) have the usual value semantics.
2236 */
2237
2238=== modified file 'include/unity/scopes/qt/QScopeBase.h'
2239--- include/unity/scopes/qt/QScopeBase.h 2015-01-29 10:32:59 +0000
2240+++ include/unity/scopes/qt/QScopeBase.h 2015-04-10 18:54:31 +0000
2241@@ -18,6 +18,10 @@
2242
2243 #pragma once
2244
2245+#ifndef _ENABLE_QT_EXPERIMENTAL_
2246+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2247+#endif
2248+
2249 #include <unity/scopes/qt/QSearchQueryBase.h>
2250 #include <unity/scopes/qt/QPreviewQueryBase.h>
2251
2252@@ -50,7 +54,7 @@
2253 \brief Base class for a scope implementation.
2254
2255 Scopes are accessed by the scopes run time as a shared library (one library per scope).
2256-Each scope must implement a class that derives from ScopeBase, for example:
2257+Each scope must implement a class that derives from QScopeBase, for example:
2258
2259 ~~~
2260 #include <unity/scopes/qt/QScopeBase.h>
2261@@ -61,9 +65,8 @@
2262 MyScope();
2263 virtual ~MyScope();
2264
2265- virtual void start(QString const& scope_id); // Optional
2266+ virtual void start(QString const& scope_id); // Optional
2267 virtual void stop(); // Optional
2268- virtual void run(); // Optional
2269 // ...
2270 };
2271 ~~~
2272@@ -72,8 +75,6 @@
2273 - a create function that must return a pointer to the derived instance
2274 - a destroy function that is passed the pointer returned by the create function
2275
2276-Typically, the create and destroy functions will simply call `new` and `delete`, respectively. (However,
2277-there is no requirement that the derived class instance must be heap-allocated.)
2278 If the create function throws an exception, the destroy function will not be called. If the create function returns
2279 NULL, the destroy function _will_ be called with NULL as its argument.
2280
2281@@ -82,8 +83,9 @@
2282
2283 ~~~
2284
2285-// You must provide a function that creates your own scope
2286-// That function must have no parameters and return a pointer to QScopeBase
2287+// You must provide a function that creates your scope on the heap and
2288+// pass this function to the QScopeBaseAPI constructor.
2289+
2290 unity::scopes::qt::QScopeBase *create_my_scope()
2291 {
2292 return new MyScope();
2293@@ -92,23 +94,23 @@
2294 unity::scopes::ScopeBase*
2295 UNITY_SCOPE_CREATE_FUNCTION()
2296 {
2297- // Initialize scope. This line is mandatory, you should pass your creation scope function to
2298- // the class QScopeBaseAPI, which will instantiate your class in the correct Qt Thread.
2299+ // You must return a dynamically allocated QScopeBaseAPI instance here.
2300+ // In turn, that instance calls your creation function to instantiate
2301+ // your scope in the correct Qt thread.
2302 return new QScopeBaseAPI(create_my_scope);
2303 }
2304
2305+// The runtime, once it has stopped your scope, calls the destroy function.
2306+
2307 void
2308 UNITY_SCOPE_DESTROY_FUNCTION(unity::scopes::ScopeBase* scope)
2309 {
2310+ delete scope;
2311 }
2312 ~~~
2313
2314 After the scopes run time has obtained a pointer to the class instance from the create function, it calls start(),
2315-which allows the scope to initialize itself. This is followed by a call to run().
2316-All calls to the methods of this class will be done from the main QThread.
2317-
2318-The scope implementation, if it does not return from run(), is expected to return from run() in response to a
2319-call to stop() in a timely manner.
2320+which allows the scope to initialize itself.
2321 */
2322 class QScopeBase : public QObject
2323 {
2324@@ -145,7 +147,6 @@
2325
2326 private:
2327 std::unique_ptr<internal::QScopeBaseImpl> p;
2328- friend class internal::QScopeBaseImpl;
2329 };
2330
2331 } // namespace qt
2332
2333=== modified file 'include/unity/scopes/qt/QScopeBaseAPI.h'
2334--- include/unity/scopes/qt/QScopeBaseAPI.h 2015-02-09 02:23:22 +0000
2335+++ include/unity/scopes/qt/QScopeBaseAPI.h 2015-04-10 18:54:31 +0000
2336@@ -18,6 +18,10 @@
2337
2338 #pragma once
2339
2340+#ifndef _ENABLE_QT_EXPERIMENTAL_
2341+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2342+#endif
2343+
2344 #include <unity/scopes/ScopeBase.h>
2345 #include <unity/scopes/QueryBase.h>
2346 #include <unity/scopes/ReplyProxyFwd.h>
2347@@ -48,10 +52,6 @@
2348 /**
2349 * Defines the lifecycle of scope plugin, and acts as a factory
2350 * for Query and Preview objects.
2351- *
2352- * Note that the #preview and #search methods are each called on
2353- * different threads, so some form of interlocking is required
2354- * if shared data structures are used.
2355 */
2356 class QScopeBaseAPI : public unity::scopes::ScopeBase
2357 {
2358@@ -105,7 +105,6 @@
2359 private:
2360 /// @cond
2361 std::unique_ptr<internal::QScopeBaseAPIImpl> p;
2362- friend class internal::QScopeBaseAPIImpl;
2363 /// @endcond
2364 };
2365
2366
2367=== modified file 'include/unity/scopes/qt/QSearchMetadata.h'
2368--- include/unity/scopes/qt/QSearchMetadata.h 2015-02-06 00:12:18 +0000
2369+++ include/unity/scopes/qt/QSearchMetadata.h 2015-04-10 18:54:31 +0000
2370@@ -18,6 +18,10 @@
2371
2372 #pragma once
2373
2374+#ifndef _ENABLE_QT_EXPERIMENTAL_
2375+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2376+#endif
2377+
2378 #include <unity/util/DefinesPtrs.h>
2379 #include <unity/scopes/Location.h>
2380
2381@@ -113,6 +117,13 @@
2382 bool has_location() const;
2383
2384 /**
2385+ \brief Remove location data entirely.
2386+
2387+ This method does nothing if no location data is present.
2388+ */
2389+ void remove_location();
2390+
2391+ /**
2392 \brief Sets a hint.
2393
2394 \param key The name of the hint.
2395@@ -160,7 +171,6 @@
2396 private:
2397 /// @cond
2398 std::unique_ptr<internal::QSearchMetadataImpl> p;
2399- friend class internal::QSearchMetadataImpl;
2400 /// @endcond
2401 };
2402
2403
2404=== modified file 'include/unity/scopes/qt/QSearchQueryBase.h'
2405--- include/unity/scopes/qt/QSearchQueryBase.h 2015-02-02 07:46:12 +0000
2406+++ include/unity/scopes/qt/QSearchQueryBase.h 2015-04-10 18:54:31 +0000
2407@@ -18,6 +18,10 @@
2408
2409 #pragma once
2410
2411+#ifndef _ENABLE_QT_EXPERIMENTAL_
2412+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2413+#endif
2414+
2415 #include <unity/util/DefinesPtrs.h>
2416 #include <unity/util/NonCopyable.h>
2417 #include <unity/scopes/SearchListenerBase.h>
2418@@ -50,7 +54,7 @@
2419 /**
2420 \brief Abstract base class to represent a particular query.
2421
2422-A scope must return an instance of this class from its implementation of ScopeBase::create_query().
2423+A scope must return an instance of this class from its implementation of ScopeBase::search().
2424
2425 \note The constructor of the instance must complete in a timely manner. Do not perform anything in the
2426 constructor that might block.
2427@@ -152,7 +156,6 @@
2428 void init(QSearchQueryBaseAPI* query_api);
2429
2430 std::unique_ptr<internal::QSearchQueryBaseImpl> p;
2431- friend class internal::QSearchQueryBaseImpl;
2432 friend class QSearchQueryBaseAPI;
2433 ///@endcond
2434 };
2435
2436=== modified file 'include/unity/scopes/qt/QSearchQueryBaseAPI.h'
2437--- include/unity/scopes/qt/QSearchQueryBaseAPI.h 2015-02-02 07:46:12 +0000
2438+++ include/unity/scopes/qt/QSearchQueryBaseAPI.h 2015-04-10 18:54:31 +0000
2439@@ -18,6 +18,10 @@
2440
2441 #pragma once
2442
2443+#ifndef _ENABLE_QT_EXPERIMENTAL_
2444+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2445+#endif
2446+
2447 #include <unity/util/DefinesPtrs.h>
2448 #include <unity/util/NonCopyable.h>
2449
2450@@ -37,6 +41,11 @@
2451 namespace qt
2452 {
2453
2454+namespace tests
2455+{
2456+class QSearchQueryBaseAPIMock;
2457+}
2458+
2459 namespace internal
2460 {
2461 class QScopeBaseAPIImpl;
2462@@ -48,7 +57,7 @@
2463 /**
2464 \brief Abstract base class to represent a particular query.
2465
2466-A scope must return an instance of this class from its implementation of ScopeBase::create_query().
2467+A scope must return an instance of this class from its implementation of ScopeBase::search().
2468
2469 This is the class that links scope API calls with the main QThread.
2470 The instance of this class is moved to the main QThread and pushes events to the Qt event loop.
2471@@ -112,6 +121,9 @@
2472 std::unique_ptr<QSearchQueryBase> qtquery_;
2473 QScopeBase& qtscope_;
2474
2475+private:
2476+ void init();
2477+ friend unity::scopes::qt::tests::QSearchQueryBaseAPIMock;
2478 friend internal::QScopeBaseAPIImpl;
2479
2480 Q_SIGNALS:
2481
2482=== modified file 'include/unity/scopes/qt/QSearchReply.h'
2483--- include/unity/scopes/qt/QSearchReply.h 2015-01-26 14:13:31 +0000
2484+++ include/unity/scopes/qt/QSearchReply.h 2015-04-10 18:54:31 +0000
2485@@ -18,6 +18,10 @@
2486
2487 #pragma once
2488
2489+#ifndef _ENABLE_QT_EXPERIMENTAL_
2490+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2491+#endif
2492+
2493 #include <unity/util/DefinesPtrs.h>
2494 #include <unity/util/NonCopyable.h>
2495 #include <unity/scopes/SearchReply.h>
2496@@ -153,7 +157,6 @@
2497 QSearchReply(unity::scopes::SearchReplyProxy& reply, QObject* parent = 0);
2498
2499 std::unique_ptr<internal::QSearchReplyImpl> p;
2500- friend class internal::QSearchReplyImpl;
2501 friend class QSearchQueryBaseAPI;
2502 };
2503
2504
2505=== modified file 'include/unity/scopes/qt/QSearchReplyProxy.h'
2506--- include/unity/scopes/qt/QSearchReplyProxy.h 2015-01-20 13:59:36 +0000
2507+++ include/unity/scopes/qt/QSearchReplyProxy.h 2015-04-10 18:54:31 +0000
2508@@ -18,6 +18,10 @@
2509
2510 #pragma once
2511
2512+#ifndef _ENABLE_QT_EXPERIMENTAL_
2513+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2514+#endif
2515+
2516 #include <unity/scopes/qt/QSearchReply.h>
2517 #include <memory>
2518
2519
2520=== modified file 'include/unity/scopes/qt/QVariantBuilder.h'
2521--- include/unity/scopes/qt/QVariantBuilder.h 2015-02-06 00:12:18 +0000
2522+++ include/unity/scopes/qt/QVariantBuilder.h 2015-04-10 18:54:31 +0000
2523@@ -18,6 +18,10 @@
2524
2525 #pragma once
2526
2527+#ifndef _ENABLE_QT_EXPERIMENTAL_
2528+#error You should define _ENABLE_QT_EXPERIMENTAL_ in order to use this experimental header file.
2529+#endif
2530+
2531 #include <QtCore/QPair>
2532 #include <QtCore/QString>
2533 #pragma GCC diagnostic push
2534@@ -61,9 +65,10 @@
2535
2536 \code
2537 VariantBuilder builder;
2538-builder.add_tuple({{"rating", Variant::null())}, {"review", Variant::null()}, {"author", Variant::null()}});
2539+builder.add_tuple({{"rating", QVariant()}, {"review", QVariant()}, {"author", QVariant()}});
2540 \endcode
2541 */
2542+
2543 class QVariantBuilder final
2544 {
2545 public:
2546@@ -91,17 +96,17 @@
2547 can be created with:
2548 \code
2549 QVariantBuilder builder;
2550- builder.add_tuple({{"a", Variant(1)}, {"b", Variant(2)}});
2551- builder.add_tuple({{"c", Variant(2)}, {"d", Variant(3)}});
2552+ builder.add_tuple({{"a", QVariant(1)}, {"b", QVariant(2)}});
2553+ builder.add_tuple({{"c", QVariant(2)}, {"d", QVariant(3)}});
2554 \endcode
2555 */
2556- // void add_tuple(std::initializer_list<QPair<QString, QVariant>> const& tuple);
2557+ void add_tuple(std::initializer_list<QPair<QString, QVariant>> const& tuple);
2558
2559 /**
2560 \brief Adds a tuple of key-value pairs to an array.
2561
2562- This is an overloaded version of add_tuple that accepts `std::vector` instead of
2563- `std::initializer_list`, making it more convenient for language bindings.
2564+ This is an overloaded version of add_tuple that accepts `QVector` instead of
2565+ `std::initializer_list`.
2566 */
2567 void add_tuple(QVector<QPair<QString, QVariant>> const& tuple);
2568
2569
2570=== modified file 'include/unity/scopes/qt/XmlAsyncReader.h'
2571--- include/unity/scopes/qt/XmlAsyncReader.h 2014-12-18 09:44:25 +0000
2572+++ include/unity/scopes/qt/XmlAsyncReader.h 2015-04-10 18:54:31 +0000
2573@@ -1,20 +1,21 @@
2574 /*
2575-* Copyright (C) 2014 Canonical, Ltd.
2576-*
2577-* This library is free software; you can redistribute it and/or modify it under
2578-* the terms of version 3 of the GNU Lesser General Public License as published
2579-* by the Free Software Foundation.
2580-*
2581-* This library is distributed in the hope that it will be useful, but WITHOUT
2582-* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
2583-* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
2584-* details.
2585-*
2586-* You should have received a copy of the GNU Lesser General Public License
2587-* along with this program. If not, see <http://www.gnu.org/licenses/>.
2588-*
2589-* Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
2590-*/
2591+ * Copyright (C) 2014 Canonical Ltd
2592+ *
2593+ * This program is free software: you can redistribute it and/or modify
2594+ * it under the terms of the GNU Lesser General Public License version 3 as
2595+ * published by the Free Software Foundation.
2596+ *
2597+ * This program is distributed in the hope that it will be useful,
2598+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2599+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2600+ * GNU Lesser General Public License for more details.
2601+ *
2602+ * You should have received a copy of the GNU Lesser General Public License
2603+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
2604+ *
2605+ * Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
2606+ */
2607+
2608 #pragma once
2609
2610 #ifndef _ENABLE_QT_EXPERIMENTAL_
2611
2612=== modified file 'include/unity/scopes/qt/XmlReader.h'
2613--- include/unity/scopes/qt/XmlReader.h 2014-12-16 21:01:48 +0000
2614+++ include/unity/scopes/qt/XmlReader.h 2015-04-10 18:54:31 +0000
2615@@ -1,20 +1,21 @@
2616 /*
2617- * Copyright (C) 2014 Canonical, Ltd.
2618- *
2619- * This library is free software; you can redistribute it and/or modify it under
2620- * the terms of version 3 of the GNU Lesser General Public License as published
2621- * by the Free Software Foundation.
2622- *
2623- * This library is distributed in the hope that it will be useful, but WITHOUT
2624- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
2625- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
2626- * details.
2627+ * Copyright (C) 2014 Canonical Ltd
2628+ *
2629+ * This program is free software: you can redistribute it and/or modify
2630+ * it under the terms of the GNU Lesser General Public License version 3 as
2631+ * published by the Free Software Foundation.
2632+ *
2633+ * This program is distributed in the hope that it will be useful,
2634+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2635+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2636+ * GNU Lesser General Public License for more details.
2637 *
2638 * You should have received a copy of the GNU Lesser General Public License
2639 * along with this program. If not, see <http://www.gnu.org/licenses/>.
2640 *
2641 * Author: Xavi Garcia <xavi.garcia.mena@canonical.com>
2642 */
2643+
2644 #pragma once
2645
2646 #ifndef _ENABLE_QT_EXPERIMENTAL_
2647
2648=== modified file 'include/unity/scopes/qt/internal/QActionMetadataImpl.h'
2649--- include/unity/scopes/qt/internal/QActionMetadataImpl.h 2015-02-06 00:12:18 +0000
2650+++ include/unity/scopes/qt/internal/QActionMetadataImpl.h 2015-04-10 18:54:31 +0000
2651@@ -43,92 +43,26 @@
2652
2653 class QPreviewQueryBaseImpl;
2654
2655-/**
2656-\brief Metadata passed to scopes for preview and activation.
2657-\see unity::scopes::ScopeBase::preview, unity::scopes::ScopeBase::activate, unity::scopes::ScopeBase::perform_action
2658-*/
2659 class QActionMetadataImpl
2660 {
2661 public:
2662- /// @cond
2663 UNITY_DEFINES_PTRS(QActionMetadataImpl);
2664
2665+ QActionMetadataImpl(QString const& locale, QString const& form_factor);
2666 ~QActionMetadataImpl();
2667- /// @endcond
2668-
2669- /**
2670- \brief Create ActionMetadata with the given locale and form factor.
2671- \param locale locale string, eg. en_EN
2672- \param form_factor form factor name, e.g. phone, desktop, phone-version etc.
2673- */
2674- QActionMetadataImpl(QString const& locale, QString const& form_factor);
2675-
2676- /**
2677- \brief Attach arbitrary data to this ActionMetadata.
2678- \param data The data value to attach.
2679- */
2680- void set_scope_data(QVariant const& data);
2681-
2682- /**
2683- \brief Get data attached to this ActionMetadata.
2684- \return The attached data, or QVariant::null.
2685- */
2686- QVariant scope_data() const;
2687-
2688- /**@name Copy and assignment
2689- Copy and assignment operators (move and non-move versions) have the usual value semantics.
2690- */
2691- //{@
2692+
2693 QActionMetadataImpl(QActionMetadataImpl const& other);
2694 QActionMetadataImpl(QActionMetadataImpl&&);
2695
2696 QActionMetadataImpl& operator=(QActionMetadataImpl const& other);
2697 QActionMetadataImpl& operator=(QActionMetadataImpl&&);
2698- //@}
2699-
2700- /**
2701- \brief Sets a hint.
2702-
2703- \param key The name of the hint.
2704- \param value Hint value
2705- */
2706+
2707+ void set_scope_data(QVariant const& data);
2708+ QVariant scope_data() const;
2709 void set_hint(QString const& key, QVariant const& value);
2710-
2711- /**
2712- \brief Get all hints.
2713-
2714- \return Hints dictionary.
2715- \throws unity::NotFoundException if no hints are available.
2716- */
2717 QVariantMap hints() const;
2718-
2719- /**
2720- \brief Check if this SearchMetadata has a hint.
2721- \param key The hint name.
2722- \return True if the hint is set.QScopeVariant
2723- */
2724 bool contains_hint(QString const& key) const;
2725-
2726- /**
2727- \brief Returns a reference to a hint.
2728-
2729- This method can be used to read or set hints. Setting a value of an existing hint overwrites
2730- its previous value.
2731- Referencing a non-existing hint automatically creates it with a default value of QVariant::Type::Null.
2732- \param key The name of the hint.
2733- \return A reference to the hint.
2734- */
2735 QScopeVariant& operator[](QString const& key);
2736-
2737- /**
2738- \brief Returns a const reference to a hint.
2739-
2740- This method can be used for read-only access to hints.
2741- Referencing a non-existing hint throws unity::InvalidArgumentException.
2742- \param key The name of the hint.
2743- \return A const reference to the hint.
2744- \throws unity::NotFoundException if no hint with the given name exists.
2745- */
2746 QVariant const& value(QString const& key) const;
2747
2748 private:
2749
2750=== modified file 'include/unity/scopes/qt/internal/QCannedQueryImpl.h'
2751--- include/unity/scopes/qt/internal/QCannedQueryImpl.h 2015-02-06 00:12:18 +0000
2752+++ include/unity/scopes/qt/internal/QCannedQueryImpl.h 2015-04-10 18:54:31 +0000
2753@@ -70,6 +70,8 @@
2754 FilterState filter_state() const;
2755 QVariantMap serialize() const;
2756 QString to_uri() const;
2757+ bool has_user_data() const;
2758+ QVariant user_data() const;
2759 static QCannedQuery from_uri(QString const& uri);
2760
2761 // added for testing purposes
2762
2763=== modified file 'include/unity/scopes/qt/internal/QCategorisedResultImpl.h'
2764--- include/unity/scopes/qt/internal/QCategorisedResultImpl.h 2015-01-20 13:59:36 +0000
2765+++ include/unity/scopes/qt/internal/QCategorisedResultImpl.h 2015-04-10 18:54:31 +0000
2766@@ -48,37 +48,16 @@
2767 class QCategorisedResultImpl : public QResultImpl
2768 {
2769 public:
2770- /// @cond
2771 UNITY_DEFINES_PTRS(QCategorisedResultImpl);
2772- /// @endcond
2773- /**
2774- \brief Creates a CategorisedResult with given category,
2775- with all base attributes initially empty.
2776- \param category The category for the result.
2777- */
2778+
2779 explicit QCategorisedResultImpl(QCategory::SCPtr category);
2780
2781- /**@name Copy and assignment
2782- Copy and assignment operators (move and non-move versions) have the usual value semantics.
2783- */
2784- //{@
2785 QCategorisedResultImpl(QCategorisedResultImpl const& other);
2786 QCategorisedResultImpl& operator=(QCategorisedResultImpl const& other);
2787 QCategorisedResultImpl(QCategorisedResultImpl&&);
2788 QCategorisedResultImpl& operator=(QCategorisedResultImpl&&);
2789- //@}
2790
2791- /**
2792- \brief Updates the category of this result.
2793- \param category The category for the result.
2794- */
2795 void set_category(QCategory::SCPtr category);
2796-
2797- /**
2798- \brief Return category of this result.
2799- Get the category instance this result belongs to.
2800- \return The category instance.
2801- */
2802 QCategory::SCPtr category() const;
2803
2804 private:
2805
2806=== modified file 'include/unity/scopes/qt/internal/QCategoryImpl.h'
2807--- include/unity/scopes/qt/internal/QCategoryImpl.h 2015-02-06 00:12:18 +0000
2808+++ include/unity/scopes/qt/internal/QCategoryImpl.h 2015-04-10 18:54:31 +0000
2809@@ -47,46 +47,19 @@
2810 class QCategoryImpl
2811 {
2812 public:
2813- /// @cond
2814 NONCOPYABLE(QCategoryImpl);
2815 UNITY_DEFINES_PTRS(QCategoryImpl);
2816
2817 QCategoryImpl(unity::scopes::Category::SCPtr category);
2818
2819 virtual ~QCategoryImpl();
2820- /// @endcond
2821
2822- /**
2823- \brief Get identifier of this Category
2824- \return The category identifier.
2825- */
2826 QString id() const;
2827-
2828- /**
2829- \brief Get title of this Category
2830- \return The category title.
2831- */
2832 QString title() const;
2833-
2834- /**
2835- \brief Get icon of this Category
2836- \return The category icon.
2837- */
2838 QString icon() const;
2839-
2840- /**
2841- \brief Query to perform when this category is expanded
2842- \return The expansion query or nullptr.
2843- */
2844 CannedQuery::SCPtr query() const;
2845-
2846- /**
2847- \brief Get renderer template of this Category
2848- \return The category renderer template.
2849- */
2850 CategoryRenderer const& renderer_template() const;
2851
2852- // @cond
2853 QVariantMap serialize() const;
2854
2855 static std::shared_ptr<QCategory> create(unity::scopes::Category::SCPtr category);
2856
2857=== modified file 'include/unity/scopes/qt/internal/QColumnLayoutImpl.h'
2858--- include/unity/scopes/qt/internal/QColumnLayoutImpl.h 2015-02-06 00:12:18 +0000
2859+++ include/unity/scopes/qt/internal/QColumnLayoutImpl.h 2015-04-10 18:54:31 +0000
2860@@ -46,65 +46,22 @@
2861 class QColumnLayoutImpl
2862 {
2863 public:
2864- /// @cond
2865 UNITY_DEFINES_PTRS(QColumnLayoutImpl);
2866- /// @endcond
2867
2868- /**
2869- \brief Creates a layout definition that expects num_of_columns columns to be added with ColumnLayout::add_column.
2870- \param num_of_columns The number of columns for the layout.
2871- \throws unity::InvalidArgumentException for an invalid number of columns.
2872- */
2873 explicit QColumnLayoutImpl(int num_of_columns);
2874+ ~QColumnLayoutImpl();
2875
2876- /**@name Copy and assignment
2877- Copy and assignment operators (move and non-move versions) have the usual value semantics.
2878- */
2879- //{@
2880 QColumnLayoutImpl(QColumnLayoutImpl const& other);
2881 QColumnLayoutImpl(QColumnLayoutImpl&&);
2882 QColumnLayoutImpl& operator=(QColumnLayoutImpl const& other);
2883 QColumnLayoutImpl& operator=(QColumnLayoutImpl&&);
2884- //@}
2885-
2886- /// @cond
2887- ~QColumnLayoutImpl();
2888- /// @endcond
2889-
2890- /**
2891- \brief Adds a new column and assigns widgets to it.
2892-
2893- ColumnLayout expects exactly the number of columns passed to the constructor to be created with the
2894- add_column method.
2895- \throws unity::LogicException if an attempt is made to add more columns than specified in the constructor.
2896- \throws unity::LogicException from \link unity::scopes::PreviewReply::register_layout\endlink if a layout
2897- has fewer columns than specified in the constructor.
2898- */
2899+
2900 void add_column(QVector<QString> widget_ids);
2901-
2902- /**
2903- \brief Get the current number of columns in this layout.
2904- \return The number of columns added with add_column().
2905- */
2906 int size() const noexcept;
2907-
2908- /**
2909- \brief Get the number of columns expected by this layout as specified in the constructor.
2910- \return The number of columns expected by this layout.
2911- */
2912 int number_of_columns() const noexcept;
2913-
2914- /**
2915- \brief Retrieve the list of widgets for given column.
2916- \param index The index of a column.
2917- \return The widget identifiers for the given column index.
2918- \throws unity::InvalidArgumentException if the index is invalid.
2919- */
2920 QVector<QString> column(int index) const;
2921
2922- /// @cond
2923 QVariantMap serialize() const;
2924- /// @endcond
2925
2926 // added for testing purposes
2927 static unity::scopes::qt::QColumnLayout create(QColumnLayoutImpl* internal);
2928
2929=== modified file 'include/unity/scopes/qt/internal/QPreviewQueryBaseImpl.h'
2930--- include/unity/scopes/qt/internal/QPreviewQueryBaseImpl.h 2015-01-20 13:59:36 +0000
2931+++ include/unity/scopes/qt/internal/QPreviewQueryBaseImpl.h 2015-04-10 18:54:31 +0000
2932@@ -46,26 +46,13 @@
2933 class QPreviewQueryBaseImpl
2934 {
2935 public:
2936- /// @cond
2937 NONCOPYABLE(QPreviewQueryBaseImpl);
2938 UNITY_DEFINES_PTRS(QPreviewQueryBaseImpl);
2939- /// @endcond
2940
2941 QPreviewQueryBaseImpl();
2942 ~QPreviewQueryBaseImpl() = default;
2943
2944- /**
2945- \brief Get result for this preview request.
2946- \throws unity::LogicException if result was not initialized (the default ctor was used).
2947- \return result
2948- */
2949 QResult result() const;
2950-
2951- /**
2952- \brief Get metadata for this preview request.
2953- \return search metadata
2954- \throws unity::LogicException if preview metadata was not initialized (the default ctor was used).
2955- */
2956 QActionMetadata action_metadata() const;
2957
2958 protected:
2959
2960=== modified file 'include/unity/scopes/qt/internal/QPreviewReplyImpl.h'
2961--- include/unity/scopes/qt/internal/QPreviewReplyImpl.h 2015-02-06 00:12:18 +0000
2962+++ include/unity/scopes/qt/internal/QPreviewReplyImpl.h 2015-04-10 18:54:31 +0000
2963@@ -48,49 +48,20 @@
2964 namespace internal
2965 {
2966
2967-/**
2968-\brief Allows the results of a preview to be sent to the preview requester.
2969-*/
2970-
2971 class QPreviewReplyImpl
2972 {
2973 public:
2974- /// @cond
2975 NONCOPYABLE(QPreviewReplyImpl);
2976 UNITY_DEFINES_PTRS(QPreviewReplyImpl);
2977- /// @endcond
2978- /**
2979- \brief Registers a list of column layouts for the current preview.
2980-
2981- Layouts must be registered before pushing a unity::scopes::PreviewWidgetList, and must be
2982- registered only once.
2983- \return True if the query is still alive, false if the query failed or was cancelled.
2984- \throws unity::LogicException register_layout() is called more than once.
2985- */
2986+
2987+ virtual ~QPreviewReplyImpl();
2988+
2989 bool register_layout(QColumnLayoutList const& layouts);
2990-
2991- /**
2992- \brief Sends widget definitions to the sender of the preview query.
2993-
2994- This method can be called mutiple times to send widgets in stages.
2995- \return True if the query is still alive, false if the query failed or was cancelled.
2996- */
2997 bool push(QPreviewWidgetList const& widget_list);
2998-
2999- /**
3000- \brief Sends data for a preview widget attribute.
3001- \return True if the query is still alive, false if the query failed or was cancelled.
3002- */
3003 bool push(QString const& key, QVariant const& value);
3004
3005- /// @cond
3006- virtual ~QPreviewReplyImpl();
3007- /// @endcond
3008-
3009 protected:
3010- /// @cond
3011 QPreviewReplyImpl(unity::scopes::PreviewReplyProxy& reply);
3012- /// @endcond
3013
3014 private:
3015 PreviewReplyProxy api_reply_;
3016
3017=== modified file 'include/unity/scopes/qt/internal/QPreviewWidgetImpl.h'
3018--- include/unity/scopes/qt/internal/QPreviewWidgetImpl.h 2015-02-06 00:12:18 +0000
3019+++ include/unity/scopes/qt/internal/QPreviewWidgetImpl.h 2015-04-10 18:54:31 +0000
3020@@ -39,9 +39,6 @@
3021
3022 class QPreviewWidget;
3023
3024-/*! \typedef QPreviewWidgetList
3025-\brief List of preview widgets (see unity::scopes::qt::QPreviewWidget)
3026-*/
3027 typedef QList<QPreviewWidget> QPreviewWidgetList;
3028
3029 namespace internal
3030@@ -52,135 +49,29 @@
3031 class QPreviewWidgetImpl
3032 {
3033 public:
3034- /// @cond
3035 UNITY_DEFINES_PTRS(QPreviewWidgetImpl);
3036- /// @endcond
3037
3038- /**
3039- \brief Create an empty widget definition with a specific id and type.
3040- \param id The unique widget identifier.
3041- \param widget_type The type of the widget.
3042- */
3043 QPreviewWidgetImpl(QString const& id, QString const& widget_type);
3044-
3045- /**
3046- \brief Create a widget from a JSON definition.
3047-
3048- The JSON definition must be a dictionary that includes widget "id" and all the values of attributes required by
3049- desired
3050- \link previewwidgets widget type\endlink. For example, a definition of image widget may look as follows:
3051- \code{.cpp}
3052- PreviewWidget img(R"({"id": "img", "type": "image", "source": "http://imageuri"})");
3053- \endcode
3054-
3055- For cases where attribute mappings are to be used instead of direct values, they need to be enclosed in the
3056- "components" dictionary, e.g.
3057- \code{.cpp}
3058- PreviewWidget img(R"({"id": "img", "type": "image", "components": { "source": "screenshot-url" } })");
3059- \endcode
3060- (this example assumes "screenshot-url" value is either available in the result object that's being previewed, or it
3061- will be pushed with
3062- unity::scopes::PreviewReply::push() method)
3063-
3064- \note It is recommended to create widgets via unity::scopes::PreviewWidget(QString const&, QString const&)
3065- constructor
3066- and unity::scopes::PreviewWidget::add_attribute_value() / unity::scopes::PreviewWidget::add_attribute_mapping()
3067- methods,
3068- rather than via JSON definition.
3069-
3070- \param definition The JSON definition.
3071- */
3072 QPreviewWidgetImpl(QString const& definition);
3073+ virtual ~QPreviewWidgetImpl();
3074
3075- /**@name Copy and assignment
3076- Copy and assignment operators (move and non-move versions) have the usual value semantics.
3077- */
3078- //{@
3079 QPreviewWidgetImpl(QPreviewWidgetImpl const& other);
3080 QPreviewWidgetImpl(QPreviewWidgetImpl&& other);
3081- virtual ~QPreviewWidgetImpl();
3082
3083 QPreviewWidgetImpl& operator=(QPreviewWidgetImpl const& other);
3084 QPreviewWidgetImpl& operator=(QPreviewWidgetImpl&& other);
3085- //@}
3086
3087- /**
3088- \brief Adds an attribute definition and its value.
3089- \param key The name of the attribute.
3090- \param value The value of the attribute.
3091- */
3092 void add_attribute_value(QString const& key, QVariant const& value);
3093-
3094- /**
3095- \brief Adds an attribute definition using a component mapping.
3096-
3097- If an attribute value is either not known, or the value is already present
3098- in a result field, this method creates a mapping between the attribute
3099- name and given the field name.
3100-
3101- If an attribute value is not known, the scope is expected to push the attribute value using
3102- unity::scopes::PreviewReply::push(); otherwise, the value is automatically
3103- mapped from the result.
3104- */
3105 void add_attribute_mapping(QString const& key, QString const& field_name);
3106-
3107- /**
3108- \brief Adds a widget into expandable widget.
3109-
3110- Adds a widget into this widget, which needs to be of 'expandable' type. This method throws
3111- if adding a widget into any other widget type. Also, adding an 'expandable' widget into
3112- another 'expandable' is not allowed.
3113-
3114- \throws unity::LogicException if type of this widget is other than 'expandable', or when
3115- adding 'expandable' to 'expandable'.
3116- */
3117 void add_widget(QPreviewWidget const& widget);
3118-
3119- /**
3120- \brief Get the identifier of this widget.
3121- \return The widget identifier.
3122- */
3123 QString id() const;
3124-
3125- /**
3126- \brief Get type name of this widget.
3127- \return The widget type.
3128- */
3129 QString widget_type() const;
3130-
3131- /**
3132- \brief Get the components of this widget.
3133-
3134- The returned map is a dictionary of (key, field name) pairs, as defined by calls to add_attribute_mapping().
3135- \return The components map.
3136- */
3137 QMap<QString, QString> attribute_mappings() const;
3138-
3139- /**
3140- \brief Get the attributes of this widget.
3141-
3142- The returned map is a dictionary of (key, value) pairs, as defined by calls to add_attribute_value().
3143- \return The attribute map.
3144- */
3145 QVariantMap attribute_values() const;
3146-
3147- /**
3148- \brief Get widgets of 'expandable' widget.
3149-
3150- Returns the list of widget attached to this widget, which must be of 'expandable' type. This list is
3151- always empty for other widget types.
3152- */
3153 QPreviewWidgetList widgets() const;
3154-
3155- /**
3156- \brief Get a JSON representation of this widget.
3157- \return The JSON string.
3158- */
3159 QString data() const;
3160
3161- /// @cond
3162 QVariantMap serialize() const;
3163- /// @endcond
3164
3165 private:
3166 std::unique_ptr<PreviewWidget> api_widget_;
3167
3168=== modified file 'include/unity/scopes/qt/internal/QResultImpl.h'
3169--- include/unity/scopes/qt/internal/QResultImpl.h 2015-02-06 00:12:18 +0000
3170+++ include/unity/scopes/qt/internal/QResultImpl.h 2015-04-10 18:54:31 +0000
3171@@ -54,192 +54,37 @@
3172 class QResultImpl
3173 {
3174 public:
3175- /// @cond
3176 UNITY_DEFINES_PTRS(QResultImpl);
3177- /// @endcond
3178
3179- /**@name Copy and assignment
3180- Copy and assignment (move and non-move versions) have the usual value semantics.
3181- */
3182- //{@
3183 QResultImpl(unity::scopes::Result const& other);
3184 QResultImpl(QResultImpl const& other);
3185
3186 QResultImpl& operator=(QResultImpl const& other);
3187 QResultImpl& operator=(QResultImpl&&);
3188- //@}
3189
3190- /**
3191- Destructor.
3192- */
3193 virtual ~QResultImpl();
3194
3195- /**
3196- \brief Stores a Result inside this Result instance.
3197-
3198- This method is meant to be used by aggregator scopes which want to modify results they receive, but want
3199- to keep a copy of the original result so that they can be correctly handled by the original scopes
3200- who created them when it comes to activation or previews.
3201- Scopes middleware will automatically pass the correct inner stored result to the activation or preview request
3202- handler
3203- of a scope which created it.
3204- \param other The original result to store within this result.
3205- \param intercept_activation True if this scope should receive activation and preview requests.
3206- */
3207 void store(QResult const& other, bool intercept_activation = false);
3208-
3209- /**
3210- \brief Check if this Result instance has a stored result.
3211- \return True if there is a stored result
3212- */
3213 bool has_stored_result() const;
3214-
3215- /**
3216- \brief Get a stored result.
3217- \return stored result
3218- \throws unity::InvalidArgumentException if no result was stored in this Result instance.
3219- */
3220 QResult retrieve() const;
3221-
3222- /**
3223- \brief Set the "uri" attribute of this result.
3224- */
3225 void set_uri(QString const& uri);
3226-
3227- /**
3228- \brief Set the "title" attribute of this result.
3229-
3230- Equivalent to calling `result["title"] = title;`
3231- */
3232 void set_title(QString const& title);
3233- /**
3234- \brief Set the "art" attribute of this result.
3235-
3236- Equivalent to calling `result["art"] = image;`
3237- */
3238 void set_art(QString const& image);
3239-
3240- /**
3241- \brief Set the "dnd_uri" attribute of this result.
3242-
3243- Equivalent to calling `result["dnd_uri"] = dnd_uri;`
3244- */
3245 void set_dnd_uri(QString const& dnd_uri);
3246-
3247- /**
3248- \brief Indicates to the receiver that this scope should intercept activation requests for this result.
3249-
3250- By default, a scope receives preview requests for the results it creates, but does not receive activation
3251- requests (they are handled directly by the shell).
3252- Intercepting activation implies intercepting preview requests as well; this is important for scopes that
3253- forward results from other scopes and call set_intercept_activation() on these scopes.
3254- A scope that sets intercept activation flag for a result should re-implement ScopeBase::activate()
3255- and provide an implementation of ActivationQueryBase that handles the actual activation.
3256- If not called, the result will be activated directly by the Unity shell whithout involving the scope,
3257- assuming an appropriate URI schema handler is present on the system.
3258- */
3259 void set_intercept_activation();
3260-
3261- /**
3262- \brief Check if this result should be activated directly by the shell
3263- because the scope doesn't handle activation of this result.
3264- \return True if this result needs to be activated directly.
3265- */
3266 bool direct_activation() const;
3267-
3268- /**
3269- \brief Get the proxy of a scope that handles activation and preview of this result.
3270-
3271- The proxy is available only when receiving this result from a scope, otherwise
3272- this method throws LogicException. Activation requests should be sent to a scope
3273- returned by this method only if direct_activation() is false.
3274- \return The scope proxy.
3275- */
3276 ScopeProxy target_scope_proxy() const;
3277-
3278- /**
3279- \brief Returns reference of a Result attribute.
3280-
3281- This method can be used to read or initialize both standard ("uri", "title", "art", "dnd_uri")
3282- and custom metadata attributes. Referencing a non-existing attribute automatically creates
3283- it with a default value of Variant::Type::Null.
3284- \param key The name of the attribute.
3285- \return A reference to the attribute.
3286- \throws unity::Invalidargument if no attribute with the given name exists.
3287- */
3288 QVariant& operator[](QString const& key);
3289-
3290- /**
3291- \brief Returns a const reference to a Result attribute.
3292-
3293- This method can be used for read-only access to both standard ("uri", "title", "art", "dnd_uri")
3294- and custom metadata attributes. Referencing a non-existing attribute throws unity::InvalidArgumentException.
3295- \param key The name of the attribute.
3296- \return A const reference to the attribute.
3297- \throws unity::Invalidargument if no attribute with the given name exists.
3298- */
3299 QVariant const& operator[](QString const& key) const;
3300-
3301- /**
3302- \brief Get the "uri" property of this Result.
3303-
3304- This method returns an empty string if this attribute is not of type Variant::Type::String (e.g. it was set with
3305- operator[]).
3306- \return The value of "uri" or the empty string.
3307- */
3308 QString uri() const noexcept;
3309-
3310- /**
3311- \brief Get the "title" property of this Result.
3312-
3313- This method returns an empty string if this attribute is not of type Variant::Type::String (e.g. it was set with
3314- operator[]).
3315- \return The value of "title" or the empty string.
3316- */
3317 QString title() const noexcept;
3318-
3319- /**
3320- \brief Get the "art" property of this Result.
3321-
3322- This method returns an empty string if this attribute is not of type Variant::Type::String (e.g. it was set with
3323- operator[]).
3324- \return The value of "art" or the empty string.
3325- */
3326 QString art() const noexcept;
3327-
3328- /**
3329- \brief Get the "dnd_uri" property of this Result.
3330-
3331- This method returns an empty string if this attribute is not of type Variant::Type::String type (e.g. it was set
3332- with operator[]).
3333- \return The value of "dnd_uri" or the empty string.
3334- */
3335 QString dnd_uri() const noexcept;
3336-
3337- /**
3338- \brief Check if this Result has an attribute.
3339- \param key The attribute name.
3340- \return True if the attribute is set.
3341- */
3342 bool contains(QString const& key) const;
3343-
3344- /**
3345- \brief Get the value of an attribute.
3346-
3347- \param key The attribute name.
3348- \return The attribute value.
3349- \throws unity::InvalidArgumentException if given attribute hasn't been set.
3350- */
3351 QVariant const& value(QString const& key) const;
3352-
3353- /**
3354- \brief Returns a dictionary of all attributes of this Result instance.
3355- \return All base attributes and custom attributes set with add_metadata().
3356- */
3357 QVariantMap serialize() const;
3358
3359 protected:
3360- /// @cond
3361 explicit QResultImpl(const QVariantMap& variant_map);
3362 explicit QResultImpl(internal::QResultImpl* impl);
3363 explicit QResultImpl(unity::scopes::Result* api_result);
3364
3365=== modified file 'include/unity/scopes/qt/internal/QScopeBaseAPIImpl.h'
3366--- include/unity/scopes/qt/internal/QScopeBaseAPIImpl.h 2015-01-29 10:32:59 +0000
3367+++ include/unity/scopes/qt/internal/QScopeBaseAPIImpl.h 2015-04-10 18:54:31 +0000
3368@@ -52,62 +52,29 @@
3369 {
3370 Q_OBJECT
3371 public:
3372- /// @cond
3373 using FactoryFunc = std::function<QScopeBase*()>;
3374
3375 NONCOPYABLE(QScopeBaseAPIImpl);
3376 UNITY_DEFINES_PTRS(QScopeBaseAPIImpl);
3377
3378- QScopeBaseAPIImpl(QScopeBase& qtscope, QObject *parent=0);
3379- QScopeBaseAPIImpl(FactoryFunc const& creator, QObject *parent=0);
3380+ QScopeBaseAPIImpl(FactoryFunc const& creator);
3381 virtual ~QScopeBaseAPIImpl();
3382
3383 bool event(QEvent* e) override;
3384- /// @endcond
3385-
3386- /**
3387- \brief Called by the scopes run time after the create function completes.
3388-
3389- If start() throws an exception, stop() will _not_ be called.
3390-
3391- The call to start() is made by the same thread that calls the create function.
3392-
3393- \param scope_id The name of the scope as defined by the scope's configuration file.
3394- */
3395 void start(std::string const& scope_id);
3396-
3397- /**
3398- \brief Called by the scopes run time when the scope should shut down.
3399-
3400- A scope should deallocate as many resources as possible when stop() is called, for example,
3401- deallocate any caches and close network connections. In addition, if the scope implements run()
3402- and did not return from run(), it must return from run() in response to the call to stop().
3403-
3404- Exceptions from stop() are ignored.
3405-
3406- The call to stop() is made by the same thread that calls the create function and start().
3407- */
3408 void stop();
3409-
3410- /**
3411- * Called each time a new preview is requested
3412- */
3413 unity::scopes::PreviewQueryBase::UPtr preview(const unity::scopes::Result&, const unity::scopes::ActionMetadata&);
3414-
3415- /**
3416- * Called each time a new query is requested
3417- */
3418 unity::scopes::SearchQueryBase::UPtr search(unity::scopes::CannedQuery const& q,
3419 unity::scopes::SearchMetadata const&);
3420
3421 protected:
3422- void startQtThread();
3423+ void start_qt_thread();
3424
3425 std::shared_ptr<QCoreApplication> qtapp_;
3426 std::unique_ptr<std::thread> qtthread_;
3427 std::atomic<bool> qtapp_ready_;
3428-
3429- QScopeBase* qtscope_impl_;
3430+ std::atomic<bool> qtapp_stopped_;
3431+ std::unique_ptr<QScopeBase> qtscope_impl_;
3432
3433 FactoryFunc qtscope_creator_;
3434 };
3435
3436=== modified file 'include/unity/scopes/qt/internal/QScopeBaseImpl.h'
3437--- include/unity/scopes/qt/internal/QScopeBaseImpl.h 2015-01-20 13:59:36 +0000
3438+++ include/unity/scopes/qt/internal/QScopeBaseImpl.h 2015-04-10 18:54:31 +0000
3439@@ -38,21 +38,13 @@
3440 class QScopeBaseImpl
3441 {
3442 public:
3443- /// @cond
3444 NONCOPYABLE(QScopeBaseImpl);
3445 UNITY_DEFINES_PTRS(QScopeBaseImpl);
3446
3447 QScopeBaseImpl() = default;
3448 virtual ~QScopeBaseImpl() = default;
3449- /// @endcond
3450- /**
3451- * Called once at startup
3452- */
3453+
3454 virtual void start(std::string const&);
3455-
3456- /**
3457- * Called at shutdown
3458- */
3459 virtual void stop();
3460 };
3461
3462
3463=== modified file 'include/unity/scopes/qt/internal/QScopeVariant.h'
3464--- include/unity/scopes/qt/internal/QScopeVariant.h 2015-02-06 00:12:18 +0000
3465+++ include/unity/scopes/qt/internal/QScopeVariant.h 2015-04-10 18:54:31 +0000
3466@@ -45,7 +45,6 @@
3467 class QScopeVariant : public QVariant
3468 {
3469 public:
3470- // explicit QScopeVariant() noexcept;
3471 virtual ~QScopeVariant();
3472
3473 QScopeVariant(QScopeVariant const& other);
3474@@ -65,9 +64,6 @@
3475 std::string get_string() const;
3476
3477 private:
3478- /**
3479- \brief Creates a Variant instance that stores the supplied integer.
3480- */
3481 explicit QScopeVariant(Variant* val) noexcept;
3482
3483 void setInternalVariant(Variant* val);
3484
3485=== modified file 'include/unity/scopes/qt/internal/QSearchMetadataImpl.h'
3486--- include/unity/scopes/qt/internal/QSearchMetadataImpl.h 2015-02-06 00:12:18 +0000
3487+++ include/unity/scopes/qt/internal/QSearchMetadataImpl.h 2015-04-10 18:54:31 +0000
3488@@ -45,114 +45,28 @@
3489 class QSearchMetadataImpl
3490 {
3491 public:
3492- /// @cond
3493 UNITY_DEFINES_PTRS(QSearchMetadataImpl);
3494- /// @endcond
3495
3496- /**
3497- \brief Create SearchMetadata with the given locale and form factor.
3498- \param locale locale string, eg. en_EN
3499- \param form_factor form factor name, e.g. phone, desktop, phone-version etc.
3500- */
3501 QSearchMetadataImpl(QString const& locale, QString const& form_factor);
3502-
3503- /**
3504- \brief Create SearchMetadata with the given cardinality, locale, and form factor.
3505- \param cardinality maximum number of search results
3506- \param locale locale string, eg. en_EN
3507- \param form_factor form factor name, e.g. phone, desktop, phone-version etc.
3508- */
3509 QSearchMetadataImpl(int cardinality, QString const& locale, QString const& form_factor);
3510+ ~QSearchMetadataImpl();
3511
3512- /**@name Copy and assignment
3513- Copy and assignment operators (move and non-move versions) have the usual value semantics.
3514- */
3515- //{@
3516 QSearchMetadataImpl(QSearchMetadataImpl const& other);
3517 QSearchMetadataImpl(QSearchMetadataImpl&&);
3518
3519 QSearchMetadataImpl& operator=(QSearchMetadataImpl const& other);
3520 QSearchMetadataImpl& operator=(QSearchMetadataImpl&&);
3521- //@}
3522-
3523- /// @cond
3524- ~QSearchMetadataImpl();
3525- /// @endcond
3526-
3527- /**
3528- \brief Set cardinality.
3529- \param cardinality The maximum number of search results.
3530- */
3531+
3532 void set_cardinality(int cardinality);
3533-
3534- /**
3535- \brief Get cardinality.
3536- \return The maxmium number of search results, or 0 for no limit.
3537- */
3538 int cardinality() const;
3539-
3540- /**
3541- \brief Set location.
3542- \param location Location data.
3543- */
3544 void set_location(Location const& location);
3545-
3546- /**
3547- \brief Get location.
3548- \return Location data representing the current location, including attributes such as city and country.
3549- \throws unity::NotFoundException if no location data is available.
3550- */
3551 Location location() const;
3552-
3553- /**
3554- \brief Does the SearchMetadata have a location.
3555- \return True if there is a location property.
3556- */
3557 bool has_location() const;
3558-
3559- /**
3560- \brief Sets a hint.
3561-
3562- \param key The name of the hint.
3563- \param value Hint value
3564- */
3565+ void remove_location();
3566 void set_hint(QString const& key, QVariant const& value);
3567-
3568- /**
3569- \brief Get all hints.
3570-
3571- \return Hints dictionary.
3572- \throws unity::NotFoundException if no hints are available.
3573- */
3574 QVariantMap hints() const;
3575-
3576- /**
3577- \brief Check if this SearchMetadata has a hint.
3578- \param key The hint name.
3579- \return True if the hint is set.
3580- */
3581 bool contains_hint(QString const& key) const;
3582-
3583- /**
3584- \brief Returns a reference to a hint.
3585-
3586- This method can be used to read or set hints. Setting a value of an existing hint overwrites
3587- its previous value.
3588- Referencing a non-existing hint automatically creates it with a default value of Variant::Type::Null.
3589- \param key The name of the hint.
3590- \return A reference to the hint.
3591- */
3592 QScopeVariant& operator[](QString const& key);
3593-
3594- /**
3595- \brief Returns a const reference to a hint.
3596-
3597- This method can be used for read-only access to hints.
3598- Referencing a non-existing hint throws unity::InvalidArgumentException.
3599- \param key The name of the hint.
3600- \return A const reference to the hint.
3601- \throws unity::NotFoundException if no hint with the given name exists.
3602- */
3603 QVariant const& value(QString const& key) const;
3604
3605 private:
3606
3607=== modified file 'include/unity/scopes/qt/internal/QSearchQueryBaseImpl.h'
3608--- include/unity/scopes/qt/internal/QSearchQueryBaseImpl.h 2015-02-02 07:46:12 +0000
3609+++ include/unity/scopes/qt/internal/QSearchQueryBaseImpl.h 2015-04-10 18:54:31 +0000
3610@@ -50,41 +50,15 @@
3611 friend QSearchQueryBase;
3612
3613 public:
3614- /// @cond
3615 NONCOPYABLE(QSearchQueryBaseImpl);
3616 UNITY_DEFINES_PTRS(QSearchQueryBaseImpl);
3617- /// @endcond
3618
3619 QSearchQueryBaseImpl();
3620 ~QSearchQueryBaseImpl() = default;
3621
3622- /**
3623- \brief Get a canned query for this search request.
3624-
3625- \return The canned query.
3626- \throws unity::LogicException if the canned query was not initialized (was default-constructed).
3627- */
3628 QCannedQuery query() const;
3629-
3630- /**
3631- \brief Get metadata for this search request.
3632- \return The search metadata.
3633- \throws unity::LogicException if search metadata was not initialized (was default-constructed).
3634- */
3635 unity::scopes::SearchMetadata search_metadata() const;
3636
3637- /** @name Subquery methods
3638- The subsearch() methods are for use by aggregating scopes.
3639- When an aggregator passes a query to its child scopes, it should
3640- use subsearch() instead of the normal Scope::search()
3641- that would be called by a client. subsearch() takes care
3642- of automatically forwarding query cancellation to child scopes.
3643- This means that there is no need for an aggregating scope to
3644- explicitly forward cancellation to child scopes
3645- when its QueryBase::cancelled() method is called by the scopes
3646- run time.
3647- */
3648- //{@
3649 QueryCtrlProxy subsearch(ScopeProxy const& scope,
3650 std::string const& query_string,
3651 SearchListenerBase::SPtr const& reply);
3652
3653=== modified file 'include/unity/scopes/qt/internal/QSearchReplyImpl.h'
3654--- include/unity/scopes/qt/internal/QSearchReplyImpl.h 2015-02-02 07:46:12 +0000
3655+++ include/unity/scopes/qt/internal/QSearchReplyImpl.h 2015-04-10 18:54:31 +0000
3656@@ -52,96 +52,17 @@
3657 friend class unity::scopes::qt::QSearchReply;
3658
3659 public:
3660- /// @cond
3661 NONCOPYABLE(QSearchReplyImpl);
3662 UNITY_DEFINES_PTRS(QSearchReplyImpl);
3663- /// @endcond
3664- /**
3665- \brief Destroys a QSearchReplyImpl.
3666- */
3667+
3668 virtual ~QSearchReplyImpl();
3669-
3670- /**
3671- \brief Register departments for the current search reply and provide the current department.
3672-
3673- Departments are optional. If scope supports departments, it is expected to register departments on every search as
3674- follows:
3675-
3676- <ul>
3677- <li>create a Department node for current department and attach to it a list of its subdepartments (unless current
3678- department is a leaf department) using
3679- unity::scopes::Department::set_subdepartments() method. For every subdepartment on the list set
3680- "has_subdepartments" flag if applicable.
3681- <li>provide an alternate label for current department with unity::scopes::Department::set_alternate_label().
3682- <li>create a Department node for parent of current department (if applicable - not when in root department), and
3683- attach current Department node to it with
3684- unity::scopes::Department::set_subdepartments() method.
3685- <li>register the parent department with unity::scopes::SearchReply::register_departments().
3686- </ul>
3687-
3688- For example, assuming the user is visiting a "History" department in "Books", and "History" has sub-departments
3689- such as "World War Two" and "Ancient", the code
3690- that registers departments for current search in "History" may look like this:
3691- \code{.cpp}
3692- unity::scopes::Department::SPtr books = move(unity::scopes::Department::create("books", query, "Books")); // the
3693- parent of "History"
3694- unity::scopes::Department::SPtr history = move(unity::scopes::Department::create("history", query, "History"));
3695- unity::scopes::DepartmentList history_depts({
3696- move(unity::scopes::Department::create("ww2", query, "World War Two")),
3697- move(unity::scopes::Department::create("ancient", query, "Ancient"))});
3698- history->set_subdepartments(history_depts);
3699- books->set_subdepartments({history});
3700- reply->register_departments(books);
3701- \endcode
3702-
3703- Current department should be the department returned by unity::scopes::CannedQuery::department_id(). Empty
3704- department id denotes
3705- the root deparment.
3706-
3707- \param parent The parent department of current department, or current one if visiting root department.
3708- \throws unity::LogicException if departments are invalid (nullptr passed, current department not present in the
3709- parent's tree, duplicated department ids present in the tree).
3710- */
3711 virtual void register_departments(QDepartment::SCPtr const& parent);
3712-
3713- /**
3714- \brief Register new category and send it to the source of the query.
3715-
3716- \param id The identifier of the category
3717- \param title The title of the category
3718- \param icon The icon of the category
3719- \param renderer_template The renderer template to be used for results in this category
3720-
3721- \return The category instance
3722- \throws unity::scopes::InvalidArgumentException if category with that id has already been registered.
3723- */
3724 QCategory::SCPtr register_category(
3725 QString const& id,
3726 QString const& title,
3727 QString const& icon,
3728 unity::scopes::CategoryRenderer const& renderer_template = unity::scopes::CategoryRenderer());
3729-
3730- /**
3731- \brief Sends a single result to the source of a query.
3732-
3733- Any calls to push() after finished() was called are ignored.
3734- \return The return value is true if the result was accepted, false otherwise.
3735- A false return value can be due to finished() having been called earlier,
3736- or the client that sent the query having cancelled that query. The return
3737- value is false also if the query has a cardinality limit and is reached
3738- or exceeded. (The return value is false for the last valid push and
3739- subsequent pushes.)
3740- */
3741 bool push(QCategorisedResult const& result);
3742-
3743- /**
3744- \brief Informs the source of a query that the query was terminated due to an error.
3745-
3746- Multiple calls to error() and calls to finished() after error() was called are ignored.
3747- \param ex An exception_ptr indicating the cause of the error. If ex is a `std::exception`,
3748- the return value of `what()` is made available to the query source. Otherwise,
3749- the query source receives `"unknown exception"`.
3750- */
3751 void error(std::exception_ptr ex);
3752
3753 protected:
3754
3755=== renamed file 'include/unity/scopes/qt/QUtils.h' => 'include/unity/scopes/qt/internal/QUtils.h'
3756--- include/unity/scopes/qt/QUtils.h 2015-02-06 00:12:18 +0000
3757+++ include/unity/scopes/qt/internal/QUtils.h 2015-04-10 18:54:31 +0000
3758@@ -24,8 +24,6 @@
3759 #pragma GCC diagnostic pop
3760 #include <unity/scopes/Variant.h>
3761
3762-#define EXPORT __attribute__((visibility("default")))
3763-
3764 namespace unity
3765 {
3766
3767@@ -35,12 +33,15 @@
3768 namespace qt
3769 {
3770
3771-///@cond
3772-EXPORT QVariant scopeVariantToQVariant(unity::scopes::Variant const& variant);
3773-EXPORT unity::scopes::Variant qVariantToScopeVariant(QVariant const& variant);
3774-EXPORT QVariantMap scopeVariantMapToQVariantMap(unity::scopes::VariantMap const& variant);
3775-EXPORT VariantMap qVariantMapToScopeVariantMap(QVariantMap const& variant);
3776-///@endcond
3777+namespace internal
3778+{
3779+
3780+QVariant variant_to_qvariant(unity::scopes::Variant const& variant);
3781+unity::scopes::Variant qvariant_to_variant(QVariant const& variant);
3782+QVariantMap variantmap_to_qvariantmap(unity::scopes::VariantMap const& variant);
3783+VariantMap qvariantmap_to_variantmap(QVariantMap const& variant);
3784+
3785+} // namespace qt
3786
3787 } // namespace qt
3788
3789
3790=== modified file 'include/unity/scopes/testing/MockPreviewReply.h'
3791--- include/unity/scopes/testing/MockPreviewReply.h 2015-02-06 00:25:05 +0000
3792+++ include/unity/scopes/testing/MockPreviewReply.h 2015-04-10 18:54:31 +0000
3793@@ -33,11 +33,13 @@
3794 namespace testing
3795 {
3796
3797-/// @cond
3798-
3799+/**
3800+ \brief Mock for unity::scopes::PreviewReply class.
3801+ */
3802 class MockPreviewReply : public unity::scopes::PreviewReply, public unity::scopes::testing::MockObject
3803 {
3804 public:
3805+ /// @cond
3806 MockPreviewReply() = default;
3807
3808 // From Reply
3809@@ -49,9 +51,9 @@
3810 MOCK_METHOD1(register_layout, bool(ColumnLayoutList const&));
3811 MOCK_METHOD1(push, bool(PreviewWidgetList const&));
3812 MOCK_METHOD2(push, bool(std::string const&, Variant const&));
3813+/// @endcond
3814 };
3815
3816-/// @endcond
3817
3818 } // namespace testing
3819
3820
3821=== modified file 'include/unity/scopes/testing/MockScope.h'
3822--- include/unity/scopes/testing/MockScope.h 2015-04-01 11:28:32 +0000
3823+++ include/unity/scopes/testing/MockScope.h 2015-04-10 18:54:31 +0000
3824@@ -68,6 +68,13 @@
3825
3826 MOCK_METHOD0(child_scopes, ChildScopeList());
3827
3828+ MOCK_METHOD6(search, QueryCtrlProxy(std::string const&,
3829+ std::string const&,
3830+ FilterState const&,
3831+ Variant const&,
3832+ SearchMetadata const&,
3833+ SearchListenerBase::SPtr const&));
3834+
3835 MOCK_METHOD1(set_child_scopes, bool(ChildScopeList const&));
3836 };
3837
3838
3839=== modified file 'include/unity/scopes/testing/MockSearchReply.h'
3840--- include/unity/scopes/testing/MockSearchReply.h 2015-02-12 23:21:47 +0000
3841+++ include/unity/scopes/testing/MockSearchReply.h 2015-04-10 18:54:31 +0000
3842@@ -35,11 +35,13 @@
3843 namespace testing
3844 {
3845
3846-/// @cond
3847-
3848+/**
3849+ \brief Mock for unity::scopes::SearchReply class.
3850+ */
3851 class MockSearchReply : public unity::scopes::SearchReply, public virtual MockObject
3852 {
3853 public:
3854+/// @cond
3855 MockSearchReply() = default;
3856
3857 // From Reply
3858@@ -66,9 +68,10 @@
3859 MOCK_METHOD2(push, bool(Filters const&, FilterState const&));
3860 MOCK_METHOD1(push, bool(experimental::Annotation const& annotation));
3861 MOCK_METHOD0(push_surfacing_results_from_cache, void());
3862+
3863+/// @endcond
3864 };
3865
3866-/// @endcond
3867
3868 } // namespace testing
3869
3870
3871=== modified file 'include/unity/scopes/testing/TypedScopeFixture.h'
3872--- include/unity/scopes/testing/TypedScopeFixture.h 2015-02-22 22:27:09 +0000
3873+++ include/unity/scopes/testing/TypedScopeFixture.h 2015-04-10 18:54:31 +0000
3874@@ -65,10 +65,19 @@
3875 friend class TypedScopeFixture;
3876 };
3877
3878+/// @endcond
3879+
3880+/**
3881+ \brief Fixture for testing scope testing.
3882+
3883+ This fixture template provides convienience SetUp() and TearDown() functions, as well as
3884+ a number of setters that ease the creation of scope tests.
3885+ */
3886 template<typename Scope>
3887 class TypedScopeFixture : public ::testing::Test
3888 {
3889 public:
3890+/// @cond
3891 TypedScopeFixture()
3892 : registry_proxy(&registry, [](unity::scopes::Registry*) {})
3893 , scope(ScopeTraits<Scope>::construct())
3894@@ -116,9 +125,9 @@
3895 unity::scopes::testing::MockRegistry registry;
3896 unity::scopes::RegistryProxy registry_proxy;
3897 std::shared_ptr<Scope> scope;
3898+/// @endcond
3899 };
3900
3901-/// @endcond
3902
3903 } // namespace testing
3904
3905
3906=== modified file 'include/unity/scopes/utility/internal/BufferedSearchReplyImpl.h'
3907--- include/unity/scopes/utility/internal/BufferedSearchReplyImpl.h 2015-02-04 06:07:15 +0000
3908+++ include/unity/scopes/utility/internal/BufferedSearchReplyImpl.h 2015-04-10 18:54:31 +0000
3909@@ -63,7 +63,7 @@
3910 bool push(unity::scopes::CategorisedResult const& result) override;
3911 bool push(unity::scopes::Filters const& filters, unity::scopes::FilterState const& filter_state) override;
3912
3913- void push_surfacing_results_from_cache() override;
3914+ void push_surfacing_results_from_cache() noexcept override;
3915
3916 // Reply interface
3917 void finished() override;
3918
3919=== modified file 'src/scopes/CMakeLists.txt'
3920--- src/scopes/CMakeLists.txt 2015-03-31 05:44:04 +0000
3921+++ src/scopes/CMakeLists.txt 2015-04-10 18:54:31 +0000
3922@@ -20,6 +20,7 @@
3923 ${CMAKE_CURRENT_SOURCE_DIR}/ColumnLayout.cpp
3924 ${CMAKE_CURRENT_SOURCE_DIR}/CompletionDetails.cpp
3925 ${CMAKE_CURRENT_SOURCE_DIR}/Department.cpp
3926+ ${CMAKE_CURRENT_SOURCE_DIR}/DateTimePickerFilter.cpp
3927 ${CMAKE_CURRENT_SOURCE_DIR}/FilterBase.cpp
3928 ${CMAKE_CURRENT_SOURCE_DIR}/FilterOption.cpp
3929 ${CMAKE_CURRENT_SOURCE_DIR}/FilterState.cpp
3930
3931=== modified file 'src/scopes/CannedQuery.cpp'
3932--- src/scopes/CannedQuery.cpp 2014-04-11 12:04:41 +0000
3933+++ src/scopes/CannedQuery.cpp 2015-04-10 18:54:31 +0000
3934@@ -113,6 +113,21 @@
3935 return internal::CannedQueryImpl::from_uri(uri);
3936 }
3937
3938+void CannedQuery::set_user_data(Variant const& value)
3939+{
3940+ p->set_user_data(value);
3941+}
3942+
3943+bool CannedQuery::has_user_data() const
3944+{
3945+ return p->has_user_data();
3946+}
3947+
3948+Variant CannedQuery::user_data() const
3949+{
3950+ return p->user_data();
3951+}
3952+
3953 } // namespace scopes
3954
3955 } // namespace unity
3956
3957=== added file 'src/scopes/DateTimePickerFilter.cpp'
3958--- src/scopes/DateTimePickerFilter.cpp 1970-01-01 00:00:00 +0000
3959+++ src/scopes/DateTimePickerFilter.cpp 2015-04-10 18:54:31 +0000
3960@@ -0,0 +1,125 @@
3961+/*
3962+ * Copyright (C) 2015 Canonical Ltd
3963+ *
3964+ * This program is free software: you can redistribute it and/or modify
3965+ * it under the terms of the GNU Lesser General Public License version 3 as
3966+ * published by the Free Software Foundation.
3967+ *
3968+ * This program is distributed in the hope that it will be useful,
3969+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3970+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3971+ * GNU Lesser General Public License for more details.
3972+ *
3973+ * You should have received a copy of the GNU Lesser General Public License
3974+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
3975+ *
3976+ * Authored by: Pawel Stolowski <pawel.stolowski@canonical.com>
3977+ */
3978+
3979+#include <unity/scopes/DateTimePickerFilter.h>
3980+#include <unity/scopes/internal/DateTimePickerFilterImpl.h>
3981+
3982+namespace unity
3983+{
3984+
3985+namespace scopes
3986+{
3987+
3988+namespace experimental
3989+{
3990+
3991+DateTimePickerFilter::DateTimePickerFilter(internal::DateTimePickerFilterImpl* impl)
3992+ : FilterBase(impl)
3993+{
3994+}
3995+
3996+DateTimePickerFilter::UPtr DateTimePickerFilter::create(std::string const& id, DateTimePickerFilter::Mode mode)
3997+{
3998+ return std::unique_ptr<DateTimePickerFilter>(new DateTimePickerFilter(new internal::DateTimePickerFilterImpl(id, mode)));
3999+}
4000+
4001+void DateTimePickerFilter::set_time_label(std::string const& label)
4002+{
4003+ fwd()->set_time_label(label);
4004+}
4005+
4006+void DateTimePickerFilter::set_date_label(std::string const& label)
4007+{
4008+ fwd()->set_date_label(label);
4009+}
4010+
4011+void DateTimePickerFilter::set_maximum(std::chrono::system_clock::time_point const& date)
4012+{
4013+ fwd()->set_maximum(date);
4014+}
4015+
4016+void DateTimePickerFilter::set_minimum(std::chrono::system_clock::time_point const& date)
4017+{
4018+ fwd()->set_minimum(date);
4019+}
4020+
4021+std::string DateTimePickerFilter::time_label() const
4022+{
4023+ return fwd()->time_label();
4024+}
4025+
4026+std::string DateTimePickerFilter::date_label() const
4027+{
4028+ return fwd()->date_label();
4029+}
4030+
4031+DateTimePickerFilter::Mode DateTimePickerFilter::mode() const
4032+{
4033+ return fwd()->mode();
4034+}
4035+
4036+bool DateTimePickerFilter::has_minimum() const
4037+{
4038+ return fwd()->has_minimum();
4039+}
4040+
4041+bool DateTimePickerFilter::has_maximum() const
4042+{
4043+ return fwd()->has_maximum();
4044+}
4045+
4046+std::chrono::system_clock::time_point DateTimePickerFilter::minimum() const
4047+{
4048+ return fwd()->minimum();
4049+}
4050+
4051+std::chrono::system_clock::time_point DateTimePickerFilter::maximum() const
4052+{
4053+ return fwd()->maximum();
4054+}
4055+
4056+bool DateTimePickerFilter::has_selected_date(FilterState const& filter_state) const
4057+{
4058+ return fwd()->has_selected_date(filter_state);
4059+}
4060+
4061+std::chrono::system_clock::time_point DateTimePickerFilter::selected_date(FilterState const& filter_state) const
4062+{
4063+ return fwd()->selected_date(filter_state);
4064+}
4065+
4066+void DateTimePickerFilter::update_state(FilterState& filter_state, std::chrono::system_clock::time_point const& date) const
4067+{
4068+ fwd()->update_state(filter_state, date);
4069+}
4070+
4071+void DateTimePickerFilter::update_state(FilterState& filter_state, std::string const& filter_id, std::chrono::system_clock::time_point const& date)
4072+{
4073+ internal::DateTimePickerFilterImpl::update_state(filter_state, filter_id, date);
4074+}
4075+
4076+internal::DateTimePickerFilterImpl* DateTimePickerFilter::fwd() const
4077+{
4078+ return dynamic_cast<internal::DateTimePickerFilterImpl*>(p.get());
4079+}
4080+
4081+}
4082+
4083+}
4084+
4085+}
4086
4087=== modified file 'src/scopes/PreviewWidget.cpp'
4088--- src/scopes/PreviewWidget.cpp 2015-01-07 23:03:50 +0000
4089+++ src/scopes/PreviewWidget.cpp 2015-04-10 18:54:31 +0000
4090@@ -288,7 +288,14 @@
4091 a star-based rating and an input field for the user to enter his/her review.
4092 It is possible to hide each widget as well as to require them to be filled in.
4093
4094-When a user presses the "Send" button, the scope receives a preview action activation with the id \c "rated".
4095+When a user presses the "Send" button, the scope receives a preview
4096+action activation with the id \c "rated". The actual rating and/or
4097+review can be accessed via unity::scopes::ActionMetadata::scope_data.
4098+The scope data will be a VariantMap with the following keys:
4099+
4100+ - \c "rating" - a double holding the number of stars the user
4101+ selected (1 to 5)
4102+ - \c "review" - a string holding the free text review
4103
4104 List of attributes:
4105
4106
4107=== modified file 'src/scopes/SearchMetadata.cpp'
4108--- src/scopes/SearchMetadata.cpp 2015-03-27 00:57:18 +0000
4109+++ src/scopes/SearchMetadata.cpp 2015-04-10 18:54:31 +0000
4110@@ -89,6 +89,11 @@
4111 return static_cast<internal::SearchMetadataImpl*>(p.get())->has_location();
4112 }
4113
4114+void SearchMetadata::remove_location()
4115+{
4116+ static_cast<internal::SearchMetadataImpl*>(p.get())->remove_location();
4117+}
4118+
4119 void SearchMetadata::set_aggregated_keywords(std::set<std::string> const& aggregated_keywords)
4120 {
4121 static_cast<internal::SearchMetadataImpl*>(p.get())->set_aggregated_keywords(aggregated_keywords);
4122
4123=== modified file 'src/scopes/SearchQueryBase.cpp'
4124--- src/scopes/SearchQueryBase.cpp 2015-04-01 16:08:51 +0000
4125+++ src/scopes/SearchQueryBase.cpp 2015-04-10 18:54:31 +0000
4126@@ -61,7 +61,7 @@
4127 string const& query_string,
4128 SearchListenerBase::SPtr const& reply)
4129 {
4130- return subsearch(scope, query_string, "", FilterState(), fwd()->search_metadata(), reply);
4131+ return fwd()->subsearch(scope, {}, query_string, "", FilterState(), nullptr, fwd()->search_metadata(), reply);
4132 }
4133
4134 QueryCtrlProxy SearchQueryBase::subsearch(ChildScope const& scope,
4135@@ -76,45 +76,67 @@
4136 FilterState const& filter_state,
4137 SearchListenerBase::SPtr const& reply)
4138 {
4139- return subsearch(scope, query_string, "", filter_state, fwd()->search_metadata(), reply);
4140-}
4141-
4142-QueryCtrlProxy SearchQueryBase::subsearch(ScopeProxy const& scope,
4143- std::string const& query_string,
4144- std::string const& department_id,
4145- FilterState const& filter_state,
4146- SearchListenerBase::SPtr const& reply)
4147-{
4148- return subsearch(scope, query_string, department_id, filter_state, fwd()->search_metadata(), reply);
4149-}
4150-
4151-QueryCtrlProxy SearchQueryBase::subsearch(ChildScope const& scope,
4152- std::string const& query_string,
4153- std::string const& department_id,
4154- FilterState const& filter_state,
4155- SearchListenerBase::SPtr const& reply)
4156-{
4157- return subsearch(scope, query_string, department_id, filter_state, fwd()->search_metadata(), reply);
4158-}
4159-
4160-QueryCtrlProxy SearchQueryBase::subsearch(ScopeProxy const& scope,
4161- std::string const& query_string,
4162- std::string const& department_id,
4163- FilterState const& filter_state,
4164- SearchMetadata const& hints,
4165- SearchListenerBase::SPtr const& reply)
4166-{
4167- return fwd()->subsearch(scope, {}, query_string, department_id, filter_state, hints, reply);
4168-}
4169-
4170-QueryCtrlProxy SearchQueryBase::subsearch(ChildScope const& scope,
4171- std::string const& query_string,
4172- std::string const& department_id,
4173- FilterState const& filter_state,
4174- SearchMetadata const& hints,
4175- SearchListenerBase::SPtr const& reply)
4176-{
4177- return fwd()->subsearch(scope.metadata.proxy(), scope.keywords, query_string, department_id, filter_state, hints, reply);
4178+ return fwd()->subsearch(scope, {}, query_string, "", filter_state, nullptr, fwd()->search_metadata(), reply);
4179+}
4180+
4181+QueryCtrlProxy SearchQueryBase::subsearch(ScopeProxy const& scope,
4182+ std::string const& query_string,
4183+ std::string const& department_id,
4184+ FilterState const& filter_state,
4185+ SearchListenerBase::SPtr const& reply)
4186+{
4187+ return fwd()->subsearch(scope, {}, query_string, department_id, filter_state, nullptr, fwd()->search_metadata(), reply);
4188+}
4189+
4190+QueryCtrlProxy SearchQueryBase::subsearch(ChildScope const& scope,
4191+ std::string const& query_string,
4192+ std::string const& department_id,
4193+ FilterState const& filter_state,
4194+ SearchListenerBase::SPtr const& reply)
4195+{
4196+ return subsearch(scope, query_string, department_id, filter_state, fwd()->search_metadata(), reply);
4197+}
4198+
4199+QueryCtrlProxy SearchQueryBase::subsearch(ScopeProxy const& scope,
4200+ std::string const& query_string,
4201+ std::string const& department_id,
4202+ FilterState const& filter_state,
4203+ SearchMetadata const& hints,
4204+ SearchListenerBase::SPtr const& reply)
4205+{
4206+ return fwd()->subsearch(scope, {}, query_string, department_id, filter_state, nullptr, hints, reply);
4207+}
4208+
4209+QueryCtrlProxy SearchQueryBase::subsearch(ChildScope const& scope,
4210+ std::string const& query_string,
4211+ std::string const& department_id,
4212+ FilterState const& filter_state,
4213+ SearchMetadata const& hints,
4214+ SearchListenerBase::SPtr const& reply)
4215+{
4216+ return fwd()->subsearch(scope.metadata.proxy(), scope.keywords, query_string, department_id, filter_state, nullptr, hints, reply);
4217+}
4218+
4219+QueryCtrlProxy SearchQueryBase::subsearch(ChildScope const& scope,
4220+ std::string const& query_string,
4221+ std::string const& department_id,
4222+ FilterState const& filter_state,
4223+ Variant const& user_data,
4224+ SearchMetadata const& hints,
4225+ SearchListenerBase::SPtr const& reply)
4226+{
4227+ return fwd()->subsearch(scope.metadata.proxy(), scope.keywords, query_string, department_id, filter_state, std::unique_ptr<Variant>(new Variant(user_data)), hints, reply);
4228+}
4229+
4230+QueryCtrlProxy SearchQueryBase::subsearch(ScopeProxy const& scope,
4231+ std::string const& query_string,
4232+ std::string const& department_id,
4233+ FilterState const& filter_state,
4234+ Variant const& user_data,
4235+ SearchMetadata const& hints,
4236+ SearchListenerBase::SPtr const& reply)
4237+{
4238+ return fwd()->subsearch(scope, {}, query_string, department_id, filter_state, std::unique_ptr<Variant>(new Variant(user_data)), hints, reply);
4239 }
4240
4241 void SearchQueryBase::set_department_id(std::string const& department_id)
4242
4243=== modified file 'src/scopes/Variant.cpp'
4244--- src/scopes/Variant.cpp 2014-08-28 00:20:56 +0000
4245+++ src/scopes/Variant.cpp 2015-04-10 18:54:31 +0000
4246@@ -49,7 +49,7 @@
4247
4248 struct VariantImpl
4249 {
4250- boost::variant<NullVariant, int, bool, string, double, VariantMap, VariantArray> v;
4251+ boost::variant<NullVariant, int, bool, string, double, VariantMap, VariantArray, int64_t> v;
4252 };
4253
4254 } // namespace internal
4255@@ -64,6 +64,11 @@
4256 {
4257 }
4258
4259+Variant::Variant(int64_t val) noexcept
4260+ : p(new internal::VariantImpl { val })
4261+{
4262+}
4263+
4264 Variant::Variant(double val) noexcept
4265 : p(new internal::VariantImpl { val })
4266 {
4267@@ -130,6 +135,12 @@
4268 return *this;
4269 }
4270
4271+Variant& Variant::operator=(int64_t val) noexcept
4272+{
4273+ p->v = val;
4274+ return *this;
4275+}
4276+
4277 Variant& Variant::operator=(double val) noexcept
4278 {
4279 p->v = val;
4280@@ -188,6 +199,18 @@
4281 }
4282 }
4283
4284+int64_t Variant::get_int64_t() const
4285+{
4286+ try
4287+ {
4288+ return boost::get<int64_t>(p->v);
4289+ }
4290+ catch (std::exception const&)
4291+ {
4292+ throw LogicException("Variant does not contain an int64_t value");
4293+ }
4294+}
4295+
4296 double Variant::get_double() const
4297 {
4298 try
4299
4300=== modified file 'src/scopes/internal/CMakeLists.txt'
4301--- src/scopes/internal/CMakeLists.txt 2014-12-10 04:54:26 +0000
4302+++ src/scopes/internal/CMakeLists.txt 2015-04-10 18:54:31 +0000
4303@@ -20,6 +20,7 @@
4304 ${CMAKE_CURRENT_SOURCE_DIR}/ColumnLayoutImpl.cpp
4305 ${CMAKE_CURRENT_SOURCE_DIR}/CompletionDetailsImpl.cpp
4306 ${CMAKE_CURRENT_SOURCE_DIR}/ConfigBase.cpp
4307+ ${CMAKE_CURRENT_SOURCE_DIR}/DateTimePickerFilterImpl.cpp
4308 ${CMAKE_CURRENT_SOURCE_DIR}/DepartmentImpl.cpp
4309 ${CMAKE_CURRENT_SOURCE_DIR}/DynamicLoader.cpp
4310 ${CMAKE_CURRENT_SOURCE_DIR}/Executor.cpp
4311
4312=== modified file 'src/scopes/internal/CannedQueryImpl.cpp'
4313--- src/scopes/internal/CannedQueryImpl.cpp 2014-12-01 08:26:52 +0000
4314+++ src/scopes/internal/CannedQueryImpl.cpp 2015-04-10 18:54:31 +0000
4315@@ -56,6 +56,18 @@
4316 }
4317 }
4318
4319+CannedQueryImpl::CannedQueryImpl(CannedQueryImpl const &other)
4320+{
4321+ scope_id_ = other.scope_id_;
4322+ query_string_ = other.query_string_;
4323+ department_id_ = other.department_id_;
4324+ filter_state_ = other.filter_state_;
4325+ if (other.user_data_ != nullptr)
4326+ {
4327+ user_data_.reset(new Variant(*other.user_data_));
4328+ }
4329+}
4330+
4331 CannedQueryImpl::CannedQueryImpl(VariantMap const& variant)
4332 {
4333 auto it = variant.find("scope");
4334@@ -87,6 +99,32 @@
4335 {
4336 query_string_ = it->second.get_string();
4337 }
4338+
4339+ it = variant.find("user_data");
4340+ if (it != variant.end())
4341+ {
4342+ set_user_data(it->second);
4343+ }
4344+}
4345+
4346+CannedQueryImpl& CannedQueryImpl::operator=(CannedQueryImpl const &other)
4347+{
4348+ if (this != &other)
4349+ {
4350+ scope_id_ = other.scope_id_;
4351+ query_string_ = other.query_string_;
4352+ department_id_ = other.department_id_;
4353+ filter_state_ = other.filter_state_;
4354+ if (other.user_data_ != nullptr)
4355+ {
4356+ user_data_.reset(new Variant(*other.user_data_));
4357+ }
4358+ else
4359+ {
4360+ user_data_.reset(nullptr);
4361+ }
4362+ }
4363+ return *this;
4364 }
4365
4366 void CannedQueryImpl::set_department_id(std::string const& dep_id)
4367@@ -124,6 +162,25 @@
4368 return filter_state_;
4369 }
4370
4371+void CannedQueryImpl::set_user_data(Variant const& value)
4372+{
4373+ user_data_.reset(new Variant(value));
4374+}
4375+
4376+bool CannedQueryImpl::has_user_data() const
4377+{
4378+ return user_data_ != nullptr;
4379+}
4380+
4381+Variant CannedQueryImpl::user_data() const
4382+{
4383+ if (user_data_)
4384+ {
4385+ return *user_data_;
4386+ }
4387+ throw unity::LogicException("CannedQuery::data(): data is not set for this query");
4388+}
4389+
4390 VariantMap CannedQueryImpl::serialize() const
4391 {
4392 VariantMap vm;
4393@@ -131,6 +188,10 @@
4394 vm["query_string"] = query_string_;
4395 vm["department_id"] = department_id_;
4396 vm["filter_state"] = filter_state_.serialize();
4397+ if (user_data_)
4398+ {
4399+ vm["user_data"] = *user_data_;
4400+ }
4401 return vm;
4402 }
4403
4404@@ -152,6 +213,11 @@
4405 internal::JsonCppNode const jstr(var);
4406 s << "&filters=" << to_percent_encoding(jstr.to_json_string());
4407 }
4408+ if (user_data_)
4409+ {
4410+ internal::JsonCppNode const jstr(*(user_data_));
4411+ s << "&data=" << to_percent_encoding(jstr.to_json_string());
4412+ }
4413 return s.str();
4414 }
4415
4416@@ -231,7 +297,14 @@
4417 s << "CannedQuery::from_uri(): invalid filters data for uri: '" << uri << "'";
4418 throw InvalidArgumentException(s.str());
4419 }
4420- } // else - unknown keys are ignored
4421+ }
4422+ else if (key == "data")
4423+ {
4424+ auto const data_json = decode_or_throw(val, key, uri);
4425+ internal::JsonCppNode const node(data_json);
4426+ q.set_user_data(node.to_variant());
4427+ }
4428+ // else - unknown keys are ignored
4429 } // else - the string with no '=' is ignored
4430 }
4431 }
4432
4433=== added file 'src/scopes/internal/DateTimePickerFilterImpl.cpp'
4434--- src/scopes/internal/DateTimePickerFilterImpl.cpp 1970-01-01 00:00:00 +0000
4435+++ src/scopes/internal/DateTimePickerFilterImpl.cpp 2015-04-10 18:54:31 +0000
4436@@ -0,0 +1,268 @@
4437+/*
4438+ * Copyright (C) 2015 Canonical Ltd
4439+ *
4440+ * This program is free software: you can redistribute it and/or modify
4441+ * it under the terms of the GNU Lesser General Public License version 3 as
4442+ * published by the Free Software Foundation.
4443+ *
4444+ * This program is distributed in the hope that it will be useful,
4445+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4446+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4447+ * GNU Lesser General Public License for more details.
4448+ *
4449+ * You should have received a copy of the GNU Lesser General Public License
4450+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
4451+ *
4452+ * Authored by: Pawel Stolowski <pawel.stolowski@canonical.com>
4453+ */
4454+
4455+#include <unity/scopes/internal/DateTimePickerFilterImpl.h>
4456+#include <unity/scopes/internal/Utils.h>
4457+#include <unity/scopes/FilterState.h>
4458+#include <unity/UnityExceptions.h>
4459+#include <unity/scopes/ScopeExceptions.h>
4460+
4461+namespace unity
4462+{
4463+
4464+namespace scopes
4465+{
4466+
4467+namespace internal
4468+{
4469+
4470+DateTimePickerFilterImpl::DateTimePickerFilterImpl(std::string const& id, DateTimePickerFilter::Mode mode)
4471+ : FilterBaseImpl(id),
4472+ m_mode(mode)
4473+{
4474+}
4475+
4476+DateTimePickerFilterImpl::DateTimePickerFilterImpl(VariantMap const& var)
4477+ : FilterBaseImpl(var)
4478+{
4479+ deserialize(var);
4480+}
4481+
4482+void DateTimePickerFilterImpl::set_time_label(std::string const& label)
4483+{
4484+ m_time_label = label;
4485+}
4486+
4487+void DateTimePickerFilterImpl::set_date_label(std::string const& label)
4488+{
4489+ m_date_label = label;
4490+}
4491+
4492+void DateTimePickerFilterImpl::set_minimum(std::chrono::system_clock::time_point const& date)
4493+{
4494+ m_min.reset(new std::chrono::system_clock::time_point(date));
4495+}
4496+
4497+void DateTimePickerFilterImpl::set_maximum(std::chrono::system_clock::time_point const& date)
4498+{
4499+ m_max.reset(new std::chrono::system_clock::time_point(date));
4500+}
4501+
4502+std::string DateTimePickerFilterImpl::time_label() const
4503+{
4504+ return m_time_label;
4505+}
4506+
4507+std::string DateTimePickerFilterImpl::date_label() const
4508+{
4509+ return m_date_label;
4510+}
4511+
4512+DateTimePickerFilter::Mode DateTimePickerFilterImpl::mode() const
4513+{
4514+ return m_mode;
4515+}
4516+
4517+bool DateTimePickerFilterImpl::has_minimum() const
4518+{
4519+ return m_min != nullptr;
4520+}
4521+
4522+bool DateTimePickerFilterImpl::has_maximum() const
4523+{
4524+ return m_max != nullptr;
4525+}
4526+
4527+std::chrono::system_clock::time_point DateTimePickerFilterImpl::minimum() const
4528+{
4529+ if (m_min)
4530+ {
4531+ return *m_min;
4532+ }
4533+
4534+ throw LogicException("DateTimePickerFilter::minimum(): minimum value is not set");
4535+}
4536+
4537+std::chrono::system_clock::time_point DateTimePickerFilterImpl::maximum() const
4538+{
4539+ if (m_max)
4540+ {
4541+ return *m_max;
4542+ }
4543+ throw LogicException("DateTimePickerFilter::maximum(): maximum value is not set");
4544+}
4545+
4546+bool DateTimePickerFilterImpl::has_selected_date(FilterState const& filter_state) const
4547+{
4548+ if (filter_state.has_filter(id()))
4549+ {
4550+ try
4551+ {
4552+ auto const var = FilterBaseImpl::get(filter_state, id()).get_dict(); // this can throw if of different type
4553+ return var.find("date") != var.end();
4554+ }
4555+ catch (...)
4556+ {
4557+ }
4558+ }
4559+ return false;
4560+}
4561+
4562+std::chrono::system_clock::time_point DateTimePickerFilterImpl::selected_date(FilterState const& filter_state) const
4563+{
4564+ if (filter_state.has_filter(id()))
4565+ {
4566+ bool valid = true;
4567+ try
4568+ {
4569+ auto vm = FilterBaseImpl::get(filter_state, id()).get_dict();
4570+ auto it = vm.find("date");
4571+ if (it != vm.end())
4572+ {
4573+ auto date = to_timepoint(it->second.get_int64_t());
4574+ if (is_valid_date(date))
4575+ {
4576+ return date;
4577+ }
4578+ valid = false;
4579+ }
4580+ }
4581+ catch (...)
4582+ {
4583+ }
4584+ if (!valid)
4585+ {
4586+ throw LogicException("DateTimePickerFilter::selected_date(): date for filter '" + id() + "' out of allowed range");
4587+ }
4588+ }
4589+ throw unity::scopes::NotFoundException("DateTimePickerFilter::selected_date(): date not set for filter ", id());
4590+}
4591+
4592+void DateTimePickerFilterImpl::update_state(FilterState& filter_state, std::chrono::system_clock::time_point const& date) const
4593+{
4594+ if (!is_valid_date(date))
4595+ {
4596+ throw LogicException("DateTimePickerFilter::update_state(): date for filter '" + id() + "' out of allowed range");
4597+ }
4598+
4599+ update_state(filter_state, id(), date);
4600+}
4601+
4602+void DateTimePickerFilterImpl::update_state(FilterState& filter_state, std::string const& filter_id, std::chrono::system_clock::time_point const& date)
4603+{
4604+ if (filter_id.empty())
4605+ {
4606+ throw InvalidArgumentException("DateTimePickerFilter::update_state(): Invalid empty filter_id string");
4607+ }
4608+
4609+ VariantMap& state = FilterBaseImpl::get(filter_state);
4610+ VariantMap vm;
4611+ vm["date"] = to_seconds_from_epoch(date);
4612+ state[filter_id] = vm;
4613+}
4614+
4615+bool DateTimePickerFilterImpl::is_valid_date(std::chrono::system_clock::time_point const& date) const
4616+{
4617+ return ((m_min == nullptr || date >= *m_min - std::chrono::seconds(1)) && (m_max == nullptr || date < *m_max + std::chrono::seconds(1)));
4618+}
4619+
4620+void DateTimePickerFilterImpl::serialize(VariantMap& var) const
4621+{
4622+ var["mode"] = static_cast<int>(m_mode.to_ulong());
4623+ if (m_time_label.size())
4624+ {
4625+ var["time_label"] = m_time_label;
4626+ }
4627+ if (m_date_label.size())
4628+ {
4629+ var["date_label"] = m_date_label;
4630+ }
4631+ if (m_min)
4632+ {
4633+ var["min"] = to_seconds_from_epoch(*m_min);
4634+ }
4635+ if (m_max)
4636+ {
4637+ var["max"] = to_seconds_from_epoch(*m_max);
4638+ }
4639+}
4640+
4641+void DateTimePickerFilterImpl::deserialize(VariantMap const& var)
4642+{
4643+ auto it = find_or_throw("DateTimePickerFilter::deserialize()", var, "mode");
4644+ m_mode = DateTimePickerFilter::Mode(it->second.get_int());
4645+ it = var.find("time_label");
4646+ if (it != var.end())
4647+ {
4648+ m_time_label = it->second.get_string();
4649+ }
4650+ else
4651+ {
4652+ m_time_label.clear();
4653+ }
4654+
4655+ it = var.find("date_label");
4656+ if (it != var.end())
4657+ {
4658+ m_date_label = it->second.get_string();
4659+ }
4660+ else
4661+ {
4662+ m_date_label.clear();
4663+ }
4664+
4665+ it = var.find("min");
4666+ if (it != var.end())
4667+ {
4668+ set_minimum(to_timepoint(it->second.get_int64_t()));
4669+ }
4670+
4671+ it = var.find("max");
4672+ if (it != var.end())
4673+ {
4674+ set_maximum(to_timepoint(it->second.get_int64_t()));
4675+ }
4676+}
4677+
4678+DateTimePickerFilter::SPtr DateTimePickerFilterImpl::create(VariantMap const& var)
4679+{
4680+ return std::shared_ptr<DateTimePickerFilter>(new DateTimePickerFilter(new DateTimePickerFilterImpl(var)));
4681+}
4682+
4683+std::string DateTimePickerFilterImpl::filter_type() const
4684+{
4685+ return "datetime_picker";
4686+}
4687+
4688+int64_t DateTimePickerFilterImpl::to_seconds_from_epoch(std::chrono::system_clock::time_point const& tp)
4689+{
4690+ auto dur = tp.time_since_epoch();
4691+ return std::chrono::duration_cast<std::chrono::seconds>(dur).count();
4692+}
4693+
4694+std::chrono::system_clock::time_point DateTimePickerFilterImpl::to_timepoint(int64_t seconds_from_epoch)
4695+{
4696+ std::chrono::seconds const secs(seconds_from_epoch);
4697+ return std::chrono::system_clock::time_point(secs);
4698+}
4699+
4700+}
4701+
4702+}
4703+
4704+}
4705
4706=== modified file 'src/scopes/internal/FilterBaseImpl.cpp'
4707--- src/scopes/internal/FilterBaseImpl.cpp 2014-08-06 10:19:59 +0000
4708+++ src/scopes/internal/FilterBaseImpl.cpp 2015-04-10 18:54:31 +0000
4709@@ -26,6 +26,7 @@
4710 #include <unity/scopes/internal/RatingFilterImpl.h>
4711 #include <unity/scopes/internal/SwitchFilterImpl.h>
4712 #include <unity/scopes/internal/ValueSliderFilterImpl.h>
4713+#include <unity/scopes/internal/DateTimePickerFilterImpl.h>
4714 #include <unity/UnityExceptions.h>
4715 #include <sstream>
4716
4717@@ -150,6 +151,10 @@
4718 {
4719 return ValueSliderFilterImpl::create(var);
4720 }
4721+ if (ftype == "datetime_picker")
4722+ {
4723+ return DateTimePickerFilterImpl::create(var);
4724+ }
4725 throw unity::LogicException("Unknown filter type: " + ftype);
4726 }
4727 throw unity::LogicException("FilterBase: Missing 'filter_type'");
4728
4729=== modified file 'src/scopes/internal/IniSettingsSchema.cpp'
4730--- src/scopes/internal/IniSettingsSchema.cpp 2014-11-20 21:33:33 +0000
4731+++ src/scopes/internal/IniSettingsSchema.cpp 2015-04-10 18:54:31 +0000
4732@@ -18,10 +18,11 @@
4733
4734 #include <unity/scopes/internal/IniSettingsSchema.h>
4735
4736+#include <unity/scopes/internal/DfltConfig.h>
4737+
4738+#include <boost/algorithm/string/predicate.hpp>
4739 #include <unity/UnityExceptions.h>
4740
4741-#include <boost/algorithm/string/predicate.hpp>
4742-
4743 #include <cassert>
4744
4745 namespace unity
4746@@ -302,7 +303,7 @@
4747 // Realistically, the shell should not store this user-preference
4748 // in the scope's settings database, and should only pay attention to the scope's
4749 // LocationDataNeeded metadata attribute.
4750- Setting s("internal.location", "boolean", "Enable location data", VariantArray(), Variant(true));
4751+ Setting s("internal.location", "boolean", "Enable location data", VariantArray(), Variant(DFLT_LOCATION_PERMITTED));
4752 definitions_.push_back(s.to_schema_definition());
4753 }
4754
4755
4756=== modified file 'src/scopes/internal/JsonSettingsSchema.cpp'
4757--- src/scopes/internal/JsonSettingsSchema.cpp 2015-01-13 11:44:33 +0000
4758+++ src/scopes/internal/JsonSettingsSchema.cpp 2015-04-10 18:54:31 +0000
4759@@ -18,11 +18,12 @@
4760
4761 #include <unity/scopes/internal/JsonSettingsSchema.h>
4762
4763-#include <unity/UnityExceptions.h>
4764+#include <unity/scopes/internal/DfltConfig.h>
4765
4766 #include <boost/algorithm/string/predicate.hpp>
4767 #include <boost/filesystem.hpp>
4768 #include <jsoncpp/json/json.h>
4769+#include <unity/UnityExceptions.h>
4770
4771 #include <set>
4772
4773@@ -427,7 +428,7 @@
4774 // Realistically, the shell should not store this user-preference
4775 // in the scope's settings database, and should only pay attention to the scope's
4776 // LocationDataNeeded metadata attribute.
4777- Setting s("internal.location", "boolean", "Enable location data", VariantArray(), Variant(true));
4778+ Setting s("internal.location", "boolean", "Enable location data", VariantArray(), Variant(DFLT_LOCATION_PERMITTED));
4779 definitions_.push_back(s.to_schema_definition());
4780 }
4781
4782
4783=== modified file 'src/scopes/internal/LocationImpl.cpp'
4784--- src/scopes/internal/LocationImpl.cpp 2015-02-23 14:48:21 +0000
4785+++ src/scopes/internal/LocationImpl.cpp 2015-04-10 18:54:31 +0000
4786@@ -46,6 +46,7 @@
4787
4788 LocationImpl::LocationImpl(LocationImpl const& other)
4789 : altitude_(other.altitude_)
4790+ , area_code_(other.area_code_)
4791 , city_(other.city_)
4792 , country_code_(other.country_code_)
4793 , country_name_(other.country_name_)
4794
4795=== modified file 'src/scopes/internal/Logger.cpp'
4796--- src/scopes/internal/Logger.cpp 2015-02-04 06:07:15 +0000
4797+++ src/scopes/internal/Logger.cpp 2015-04-10 18:54:31 +0000
4798@@ -25,7 +25,15 @@
4799 #include <boost/log/support/date_time.hpp>
4800 #include <boost/log/trivial.hpp>
4801 #include <boost/phoenix/bind.hpp>
4802+
4803+#if (BOOST_VERSION / 100000 == 1) && (((BOOST_VERSION / 100) % 1000) < 56)
4804 #include <boost/utility/empty_deleter.hpp>
4805+typedef boost::empty_deleter NullDeleter;
4806+#else
4807+#include <boost/core/null_deleter.hpp>
4808+typedef boost::null_deleter NullDeleter;
4809+#endif
4810+
4811 #include <unity/UnityExceptions.h>
4812
4813 using namespace std;
4814@@ -49,14 +57,11 @@
4815 namespace
4816 {
4817
4818-static array<string, Logger::LastChannelEnum_> const channel_names =
4819- {
4820- { "IPC" }
4821- };
4822+static array<string, Logger::LastChannelEnum_> const channel_names = {{"IPC"}};
4823
4824 string const& to_severity(int s)
4825 {
4826- static array<string, 5> const severities = { { "INFO", "WARNING", "ERROR", "FATAL", "TRACE" } };
4827+ static array<string, 5> const severities = {{"INFO", "WARNING", "ERROR", "FATAL", "TRACE"}};
4828 static string const unknown = "UNKNOWN";
4829
4830 if (s < 0 || s >= static_cast<int>(severities.size()))
4831@@ -65,7 +70,6 @@
4832 }
4833 return severities[s];
4834 }
4835-
4836 }
4837
4838 // Instantiate a logger for the scope/client with the given ID.
4839@@ -93,7 +97,7 @@
4840 // Set up sink that logs to std::clog.
4841 clog_sink_ = boost::make_shared<ClogSinkT>();
4842 clog_sink_->set_formatter(bind(&Logger::formatter, this, ph::_1, ph::_2));
4843- boost::shared_ptr<std::ostream> console_stream(&std::clog, boost::empty_deleter());
4844+ boost::shared_ptr<std::ostream> console_stream(&std::clog, NullDeleter());
4845 clog_sink_->locked_backend()->add_stream(console_stream);
4846 clog_sink_->locked_backend()->auto_flush(true);
4847 logging::core::get()->add_sink(clog_sink_);
4848@@ -173,27 +177,26 @@
4849 {
4850 namespace ph = std::placeholders;
4851
4852- FileSinkPtr s = boost::make_shared<FileSinkT>(
4853- keywords::file_name = path + "-%N.log",
4854- keywords::rotation_size = rotation_size);
4855+ FileSinkPtr s =
4856+ boost::make_shared<FileSinkT>(keywords::file_name = path + "-%N.log", keywords::rotation_size = rotation_size);
4857
4858 string parent = boost::filesystem::path(path).parent_path().native();
4859- s->locked_backend()->set_file_collector(sinks::file::make_collector(keywords::target = parent,
4860- keywords::max_size = dir_size));
4861+ s->locked_backend()->set_file_collector(sinks::file::make_collector(
4862+ keywords::target = parent, keywords::max_size = dir_size, keywords::min_free_space = 1024 * 1024 * 5));
4863 try
4864 {
4865 s->locked_backend()->scan_for_files();
4866 }
4867 catch (std::exception const& e)
4868 {
4869- BOOST_LOG_SEV(logger_, Warning)
4870- << "RuntimeImpl::Logger(): log rotation failed (path = " << parent << "): " << e.what();
4871+ BOOST_LOG_SEV(logger_, Warning) << "RuntimeImpl::Logger(): log rotation failed (path = " << parent
4872+ << "): " << e.what();
4873 return;
4874 }
4875 catch (...)
4876 {
4877- BOOST_LOG_SEV(logger_, Warning)
4878- << "RuntimeImpl::Logger(): log rotation failed (path = " << parent << "): unknown exception";
4879+ BOOST_LOG_SEV(logger_, Warning) << "RuntimeImpl::Logger(): log rotation failed (path = " << parent
4880+ << "): unknown exception";
4881 return;
4882 }
4883
4884@@ -254,21 +257,18 @@
4885 return it->second.second;
4886 }
4887
4888-void Logger::formatter(logging::record_view const& rec,
4889- logging::formatting_ostream& strm)
4890+void Logger::formatter(logging::record_view const& rec, logging::formatting_ostream& strm)
4891 {
4892 string channel = expr::attr<string>("Channel")(rec).get();
4893
4894 string prefix = channel.empty() ? to_severity(expr::attr<int>("Severity")(rec).get()) : channel;
4895
4896 strm << "[" << expr::format_date_time<boost::posix_time::ptime>("TimeStamp", "%Y-%m-%d %H:%M:%S.%f")(rec) << "] "
4897- << prefix << ": "
4898- << scope_id_ << ": "
4899- << rec[expr::smessage];
4900+ << prefix << ": " << scope_id_ << ": " << rec[expr::smessage];
4901 }
4902
4903-} // namespace internal
4904-
4905-} // namespace scopes
4906-
4907-} // namespace uannelity
4908+} // namespace internal
4909+
4910+} // namespace scopes
4911+
4912+} // namespace unity
4913
4914=== modified file 'src/scopes/internal/QueryCtrlObject.cpp'
4915--- src/scopes/internal/QueryCtrlObject.cpp 2014-01-24 02:13:35 +0000
4916+++ src/scopes/internal/QueryCtrlObject.cpp 2015-04-10 18:54:31 +0000
4917@@ -67,7 +67,7 @@
4918 disconnect();
4919 }
4920
4921-// Called by create_query() to tell us what the query facade object
4922+// Called by search() to tell us what the query facade object
4923 // is. We use the query facade object to forward cancellation.
4924
4925 void QueryCtrlObject::set_query(QueryObjectBase::SPtr const& qo)
4926
4927=== modified file 'src/scopes/internal/QueryObject.cpp'
4928--- src/scopes/internal/QueryObject.cpp 2015-02-12 23:21:47 +0000
4929+++ src/scopes/internal/QueryObject.cpp 2015-04-10 18:54:31 +0000
4930@@ -203,9 +203,9 @@
4931 // The point of keeping a shared_ptr to ourselves is to make sure this QueryObject cannot
4932 // go out of scope in between being created by the Scope, and the first ReplyProxy for this
4933 // query being created in QueryObject::run(). If the scope's run() method returns immediately,
4934-// by the time QueryObject::run() starts executing, Scope::create_query() may already have
4935+// by the time QueryObject::run() starts executing, Scope::search() may already have
4936 // returned and removed the query object from the middleware, causing this QueryObject's reference
4937-// count to reach zero and get deallocated. So, create_query() calls set_self(), which remembers
4938+// count to reach zero and get deallocated. So, search() calls set_self(), which remembers
4939 // the the shared_ptr, increasing the refcount, and QueryObject::run() clears the shared_ptr after creating
4940 // the ReplyProxy, which decrements the refcount again.
4941 //
4942
4943=== modified file 'src/scopes/internal/RuntimeImpl.cpp'
4944--- src/scopes/internal/RuntimeImpl.cpp 2015-02-17 10:31:09 +0000
4945+++ src/scopes/internal/RuntimeImpl.cpp 2015-04-10 18:54:31 +0000
4946@@ -539,6 +539,11 @@
4947 return find_tmp_dir();
4948 }
4949
4950+string RuntimeImpl::config_directory() const
4951+{
4952+ return config_dir_;
4953+}
4954+
4955 string RuntimeImpl::demangled_id(string const& scope_id) const
4956 {
4957 // For scopes that are in a click package together with an app,
4958
4959=== modified file 'src/scopes/internal/ScopeImpl.cpp'
4960--- src/scopes/internal/ScopeImpl.cpp 2015-03-25 05:52:25 +0000
4961+++ src/scopes/internal/ScopeImpl.cpp 2015-04-10 18:54:31 +0000
4962@@ -92,15 +92,33 @@
4963 QueryCtrlProxy ScopeImpl::search(std::string const& query_string,
4964 std::string const& department_id,
4965 FilterState const& filter_state,
4966+ std::unique_ptr<Variant> user_data,
4967 SearchMetadata const& metadata,
4968 SearchQueryBaseImpl::History const& history,
4969 SearchListenerBase::SPtr const& reply)
4970 {
4971 CannedQuery query(scope_id_, query_string, department_id);
4972 query.set_filter_state(filter_state);
4973+ if (user_data)
4974+ {
4975+ query.set_user_data(*user_data);
4976+ }
4977 return search(query, metadata, history, reply);
4978 }
4979
4980+QueryCtrlProxy ScopeImpl::search(std::string const& query_string,
4981+ std::string const& department_id,
4982+ FilterState const& filter_state,
4983+ Variant const& user_data,
4984+ SearchMetadata const& metadata,
4985+ SearchListenerBase::SPtr const& reply)
4986+{
4987+ CannedQuery query(scope_id_, query_string, department_id);
4988+ query.set_user_data(user_data);
4989+ query.set_filter_state(filter_state);
4990+ return search(query, metadata, SearchQueryBaseImpl::History(), reply);
4991+}
4992+
4993 QueryCtrlProxy ScopeImpl::search(CannedQuery const& query,
4994 SearchMetadata const& metadata,
4995 SearchQueryBaseImpl::History const& history,
4996
4997=== modified file 'src/scopes/internal/SearchMetadataImpl.cpp'
4998--- src/scopes/internal/SearchMetadataImpl.cpp 2015-03-31 07:26:16 +0000
4999+++ src/scopes/internal/SearchMetadataImpl.cpp 2015-04-10 18:54:31 +0000
5000@@ -106,6 +106,11 @@
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: