Merge lp:~thomas-voss/platform-api/introduce-hardware-subdirectory-and-package into lp:platform-api
- introduce-hardware-subdirectory-and-package
- Merge into trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~thomas-voss/platform-api/introduce-hardware-subdirectory-and-package |
Merge into: | lp:platform-api |
Diff against target: |
3989 lines (+2692/-520) (has conflicts) 30 files modified
CMakeLists.txt (+40/-5) android/hybris/Android.mk (+0/-7) android/hybris/ubuntu_application_gps_for_hybris.cpp (+50/-50) android/include/private/ui/config.h (+0/-24) android/include/private/ui/session_enumerator.h (+0/-6) data/CMakeLists.txt (+8/-0) data/ubuntu-platform-api.pc.in (+9/-0) debian/control (+2/-0) debian/libplatform-api-headers.install (+1/-1) debian/libplatform-api1-dev.install (+1/-0) doc/CMakeLists.txt (+30/-0) doc/Doxyfile.in (+1869/-0) include/CMakeLists.txt (+1/-4) include/config.h.in (+0/-24) include/ubuntu/CMakeLists.txt (+2/-0) include/ubuntu/application/CMakeLists.txt (+19/-0) include/ubuntu/application/sensors/CMakeLists.txt (+14/-0) include/ubuntu/application/sensors/event/CMakeLists.txt (+11/-0) include/ubuntu/application/ui/CMakeLists.txt (+25/-0) include/ubuntu/application/ui/config.h.in (+27/-0) include/ubuntu/application/ui/input/CMakeLists.txt (+9/-0) include/ubuntu/hardware/gps.h (+226/-174) include/ubuntu/ui/CMakeLists.txt (+4/-0) include/ubuntu/ui/ubuntu_ui_session_service.h (+1/-16) src/android/CMakeLists.txt (+43/-20) src/android/bridge.h (+182/-0) src/android/tests/CMakeLists.txt (+1/-1) src/android/tests/test_gps_api.cpp (+35/-32) src/android/ubuntu_application_api.cpp (+4/-156) src/android/ubuntu_platform_hardware_api.cpp (+78/-0) Text conflict in src/android/ubuntu_application_api.cpp |
To merge this branch: | bzr merge lp:~thomas-voss/platform-api/introduce-hardware-subdirectory-and-package |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Phablet Team | Pending | ||
Review via email: mp+169456@code.launchpad.net |
This proposal has been superseded by a proposal from 2013-06-14.
Commit message
* Adjust message signatures.
* Fix android implementation to account for new structure.
* Refactored bridge and implementation macros into its own header file.
* Split out hardware-specifics into its own implementation file.
* Introduce a subdirectory for the hardware abstraction layer.
* Adjust doxygen to optimize for C output.
Description of the change
* Adjust message signatures.
* Fix android implementation to account for new structure.
* Refactored bridge and implementation macros into its own header file.
* Split out hardware-specifics into its own implementation file.
* Introduce a subdirectory for the hardware abstraction layer.
* Adjust doxygen to optimize for C output.
- 73. By Thomas Voß
-
[ Gerry Boland ]
* Add mir suport.
[ Robert Carr ]
* Add mir suport.
[ Ubuntu daily release ]
* Automatic snapshot from revision 69
[ Ricardo Mendoza ]
* Allow remote App Manager to take care of signalling processes.
[ Ubuntu daily release ]
* Automatic snapshot from revision 67 - 74. By Thomas Voß
-
Revert accidently changed option for building with hybris.
- 75. By Thomas Voß
-
* Remove installation directive for obsolete ubuntu_
application_ gps. - 76. By Thomas Voß
-
Make sure the hardware api is picked up by the debian package.
- 77. By Thomas Voß
-
Add missing copyright header.
- 78. By Thomas Voß
-
* Adjust installation of so's.
- 79. By Thomas Voß
-
[ Didier Roche ]
* minor cosmetic cleanups as we detect the archs we can't build for in
daily release now.
[ Ubuntu daily release ]
* Automatic snapshot from revision 77
[ Ricardo Mendoza ]
* GCC 4.8 introduces a change for ARM AAPCS calling conventions, this
breaks ABI for us because the Android library is built with GCC 4.7.
Revert to building platform-api with GCC 4.7 until we can update the
Android build. .
[ Ubuntu daily release ]
* Automatic snapshot from revision 75
[ Robert Carr ]
* Add missing mir stub (ua_ui_session_ properties_ set_remote_ pid).
[ Ubuntu daily release ]
* Automatic snapshot from revision 73
[ Ubuntu daily release ]
* debian/*symbols: auto-update new symbols to released version
[ Didier Roche ]
* Add a symbol files with unmangled C++ symbols to track ABI.
[ Dmitrijs Ledkovs ]
* Add a symbol files with unmangled C++ symbols to track ABI.
[ Ubuntu daily release ]
* Automatic snapshot from revision 71 - 80. By Thomas Voß
-
* Split out hal to ease integration of location service.
[ Ricardo Mendoza ]
* Stop the app manager from suspending the shell if there is no valid
active main stage application running. (LP: #1196696)
[ Ubuntu daily release ]
* Automatic snapshot from revision 81
[ Ricardo Mendoza ]
* Add guards for NULL sensors.
[ Ubuntu daily release ]
* Automatic snapshot from revision 79 - 81. By Thomas Voß
-
* Updated the symbols file.
- 82. By Thomas Voß
-
Adjust symbol versions to account for daily release.
- 83. By Thomas Voß
-
[ Thomas Voß ]
* * Adjust the cmake setup and get rid of -DUSE_GLES, instead rely on
automatic detection if the header is available. * Adjust the cmake
setup to bail out if EGL is not available. * Adjust the cmake setup
to autogenerate doxygen API documentation.
* * Add a pkgconfig file for the platform API * Adjust installation of
header files to account for version.
[ Ubuntu daily release ]
* Automatic snapshot from revision 84 - 84. By Thomas Voß
-
* Demangled a C++ symbol.
- 85. By Thomas Voß
-
Split out hal to ease integration of location service.
- 86. By Thomas Voß
-
Add missing build dependency.
- 87. By Thomas Voß
-
* Adjust changelog and note down deps that are broken.
- 88. By Thomas Voß
-
Fix indentation.
- 89. By Thomas Voß
-
Only include symlinks.
- 90. By Thomas Voß
-
Remove Breaks: again.
Unmerged revisions
Preview Diff
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2013-05-21 21:54:07 +0000 |
3 | +++ CMakeLists.txt 2013-06-14 14:53:26 +0000 |
4 | @@ -1,16 +1,51 @@ |
5 | cmake_minimum_required(VERSION 2.6) |
6 | |
7 | -project(ubuntu_platform_api) |
8 | - |
9 | -set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin) |
10 | -set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_ARCHITECTURE}) |
11 | +project(ubuntu-platform-api) |
12 | + |
13 | +set(UBUNTU_PLATFORM_API_VERSION_MAJOR 0) |
14 | +set(UBUNTU_PLATFORM_API_VERSION_MINOR 0) |
15 | +set(UBUNTU_PLATFORM_API_VERSION_PATCH 1) |
16 | + |
17 | +set(BIN_INSTALL_DIR bin) |
18 | +set(LIB_INSTALL_DIR lib/${CMAKE_LIBRARY_ARCHITECTURE}) |
19 | |
20 | set(INSTALL_TARGETS_DEFAULT_ARGS RUNTIME DESTINATION "${BIN_INSTALL_DIR}" |
21 | LIBRARY DESTINATION "${LIB_INSTALL_DIR}" |
22 | ARCHIVE DESTINATION "${LIB_INSTALL_DIR}") |
23 | |
24 | +#### Detect if we have got gles2, and fall back to plain gl if not #### |
25 | +set(UBUNTU_PLATFORM_API_HAVE_GLES2 0) |
26 | + |
27 | +find_path( |
28 | + GLES2_INCLUDE_PATH |
29 | + gles2/gl2.h |
30 | +) |
31 | + |
32 | +if (GLES2_INCLUDE_PATH) |
33 | + message(STATUS "GLES2 found in ${GLES2_INCLUDE_PATH}") |
34 | + set(UBUNTU_PLATFORM_API_HAVE_GLES2 1) |
35 | +else (GLES2_INCLUDE_PATH) |
36 | + message(STATUS "GLES2 not found, falling back to plain GL") |
37 | +endif (GLES2_INCLUDE_PATH) |
38 | +#### Detect if we have got gles2, and fall back to plain gl if not #### |
39 | + |
40 | +#### Detect if we have EGL/egl.h, and bail out if not #### |
41 | +find_path( |
42 | + EGL_INCLUDE_PATH |
43 | + EGL/egl.h |
44 | +) |
45 | + |
46 | +if (NOT EGL_INCLUDE_PATH) |
47 | + message(ERROR EGL not found) |
48 | +else (NOT EGL_INCLUDE_PATH) |
49 | + message(STATUS "EGL found in ${EGL_INCLUDE_PATH}") |
50 | +endif (NOT EGL_INCLUDE_PATH) |
51 | +#### Detect if we have EGL/egl.h, and bail out if not #### |
52 | + |
53 | include_directories(include) |
54 | include_directories(android/include) |
55 | |
56 | +add_subdirectory(data/) |
57 | +add_subdirectory(doc/) |
58 | +add_subdirectory(include/) |
59 | add_subdirectory(src/) |
60 | -add_subdirectory(include/) |
61 | |
62 | === modified file 'android/hybris/Android.mk' |
63 | --- android/hybris/Android.mk 2013-05-27 22:04:07 +0000 |
64 | +++ android/hybris/Android.mk 2013-06-14 14:53:26 +0000 |
65 | @@ -5,13 +5,6 @@ |
66 | |
67 | LOCAL_CFLAGS += -std=gnu++0x |
68 | |
69 | -CONFIG_H := $(UPAPI_PATH)/include/ubuntu/ui/config.h |
70 | -$(CONFIG_H): |
71 | - echo "Generating config.h" |
72 | - sed $(UPAPI_PATH)/include/config.h.in -e 's/@USE_GLES@/1/g' > $@ |
73 | - |
74 | -LOCAL_GENERATED_SOURCES := $(CONFIG_H) |
75 | - |
76 | LOCAL_C_INCLUDES := \ |
77 | $(UPAPI_PATH)/include \ |
78 | $(UPAPI_PATH)/android/include |
79 | |
80 | === modified file 'android/hybris/ubuntu_application_gps_for_hybris.cpp' |
81 | --- android/hybris/ubuntu_application_gps_for_hybris.cpp 2013-02-05 07:46:29 +0000 |
82 | +++ android/hybris/ubuntu_application_gps_for_hybris.cpp 2013-06-14 14:53:26 +0000 |
83 | @@ -15,7 +15,7 @@ |
84 | * |
85 | * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com> |
86 | */ |
87 | -#include <ubuntu/application/ubuntu_application_gps.h> |
88 | +#include <ubuntu/hardware/gps.h> |
89 | |
90 | #include <pthread.h> |
91 | |
92 | @@ -23,12 +23,12 @@ |
93 | #include <hardware/gps.h> |
94 | #include <hardware_legacy/power.h> |
95 | |
96 | -#define WAKE_LOCK_NAME "UBUNTU_GPS" |
97 | +#define WAKE_LOCK_NAME "U_HARDWARE_GPS" |
98 | |
99 | -struct UbuntuGps_ |
100 | +struct UHardwareGps_ |
101 | { |
102 | - UbuntuGps_(UbuntuGpsParams* params); |
103 | - ~UbuntuGps_(); |
104 | + UHardwareGps_(UHardwareGpsParams* params); |
105 | + ~UHardwareGps_(); |
106 | |
107 | bool init(); |
108 | |
109 | @@ -48,28 +48,28 @@ |
110 | const GpsDebugInterface* gps_debug_interface; |
111 | const AGpsRilInterface* agps_ril_interface; |
112 | |
113 | - UbuntuGpsLocationCallback location_cb; |
114 | - UbuntuGpsStatusCallback status_cb; |
115 | - UbuntuGpsSvStatusCallback sv_status_cb; |
116 | - UbuntuGpsNmeaCallback nmea_cb; |
117 | - UbuntuGpsSetCapabilities set_capabilities_cb; |
118 | - UbuntuGpsRequestUtcTime request_utc_time_cb; |
119 | - |
120 | - UbuntuGpsXtraDownloadRequest xtra_download_request_cb; |
121 | - |
122 | - UbuntuAgpsStatusCallback agps_status_cb; |
123 | - |
124 | - UbuntuGpsNiNotifyCallback gps_ni_notify_cb; |
125 | - |
126 | - UbuntuAgpsRilRequestSetId request_setid_cb; |
127 | - UbuntuAgpsRilRequestRefLoc request_refloc_cb; |
128 | + UHardwareGpsLocationCallback location_cb; |
129 | + UHardwareGpsStatusCallback status_cb; |
130 | + UHardwareGpsSvStatusCallback sv_status_cb; |
131 | + UHardwareGpsNmeaCallback nmea_cb; |
132 | + UHardwareGpsSetCapabilities set_capabilities_cb; |
133 | + UHardwareGpsRequestUtcTime request_utc_time_cb; |
134 | + |
135 | + UHardwareGpsXtraDownloadRequest xtra_download_request_cb; |
136 | + |
137 | + UHardwareGpsAGpsStatusCallback agps_status_cb; |
138 | + |
139 | + UHardwareGpsNiNotifyCallback gps_ni_notify_cb; |
140 | + |
141 | + UHardwareGpsAGpsRilRequestSetId request_setid_cb; |
142 | + UHardwareGpsAGpsRilRequestRefLoc request_refloc_cb; |
143 | |
144 | void* context; |
145 | }; |
146 | |
147 | namespace |
148 | { |
149 | -UbuntuGps hybris_gps_instance = NULL; |
150 | +UHardwareGps hybris_gps_instance = NULL; |
151 | } |
152 | |
153 | static void location_callback(GpsLocation* location) |
154 | @@ -78,7 +78,7 @@ |
155 | return; |
156 | |
157 | hybris_gps_instance->location_cb( |
158 | - reinterpret_cast<UbuntuGpsLocation*>(location), |
159 | + reinterpret_cast<UHardwareGpsLocation*>(location), |
160 | hybris_gps_instance->context); |
161 | } |
162 | |
163 | @@ -96,7 +96,7 @@ |
164 | return; |
165 | |
166 | hybris_gps_instance->sv_status_cb( |
167 | - reinterpret_cast<UbuntuGpsSvStatus*>(sv_status), |
168 | + reinterpret_cast<UHardwareGpsSvStatus*>(sv_status), |
169 | hybris_gps_instance->context); |
170 | } |
171 | |
172 | @@ -202,7 +202,7 @@ |
173 | */ |
174 | |
175 | hybris_gps_instance->agps_status_cb( |
176 | - reinterpret_cast<UbuntuAgpsStatus*>(agps_status), hybris_gps_instance->context); |
177 | + reinterpret_cast<UHardwareGpsAGpsStatus*>(agps_status), hybris_gps_instance->context); |
178 | } |
179 | |
180 | AGpsCallbacks agps_callbacks = |
181 | @@ -215,7 +215,7 @@ |
182 | { |
183 | if (hybris_gps_instance) |
184 | hybris_gps_instance->gps_ni_notify_cb( |
185 | - reinterpret_cast<UbuntuGpsNiNotification*>(notification), |
186 | + reinterpret_cast<UHardwareGpsNiNotification*>(notification), |
187 | hybris_gps_instance->context); |
188 | } |
189 | |
190 | @@ -245,7 +245,7 @@ |
191 | }; |
192 | |
193 | |
194 | -UbuntuGps_::UbuntuGps_(UbuntuGpsParams* params) |
195 | +UHardwareGps_::UHardwareGps_(UHardwareGpsParams* params) |
196 | : gps_interface(NULL), |
197 | gps_xtra_interface(NULL), |
198 | agps_interface(NULL), |
199 | @@ -294,13 +294,13 @@ |
200 | } |
201 | } |
202 | |
203 | -UbuntuGps_::~UbuntuGps_() |
204 | +UHardwareGps_::~UHardwareGps_() |
205 | { |
206 | if (gps_interface) |
207 | gps_interface->cleanup(); |
208 | } |
209 | |
210 | -bool UbuntuGps_::init() |
211 | +bool UHardwareGps_::init() |
212 | { |
213 | // fail if the main interface fails to initialize |
214 | if (!gps_interface || gps_interface->init(&gps_callbacks) != 0) |
215 | @@ -320,7 +320,7 @@ |
216 | return true; |
217 | } |
218 | |
219 | -bool UbuntuGps_::start() |
220 | +bool UHardwareGps_::start() |
221 | { |
222 | if (gps_interface) |
223 | return (gps_interface->start() == 0); |
224 | @@ -328,7 +328,7 @@ |
225 | return false; |
226 | } |
227 | |
228 | -bool UbuntuGps_::stop() |
229 | +bool UHardwareGps_::stop() |
230 | { |
231 | if (gps_interface) |
232 | return (gps_interface->stop() == 0); |
233 | @@ -336,25 +336,25 @@ |
234 | return false; |
235 | } |
236 | |
237 | -void UbuntuGps_::inject_time(int64_t time, int64_t time_reference, int uncertainty) |
238 | +void UHardwareGps_::inject_time(int64_t time, int64_t time_reference, int uncertainty) |
239 | { |
240 | if (gps_interface) |
241 | gps_interface->inject_time(time, time_reference, uncertainty); |
242 | } |
243 | |
244 | -void UbuntuGps_::inject_location(double latitude, double longitude, float accuracy) |
245 | +void UHardwareGps_::inject_location(double latitude, double longitude, float accuracy) |
246 | { |
247 | if (gps_interface) |
248 | gps_interface->inject_location(latitude, longitude, accuracy); |
249 | } |
250 | |
251 | -void UbuntuGps_::delete_aiding_data(uint16_t flags) |
252 | +void UHardwareGps_::delete_aiding_data(uint16_t flags) |
253 | { |
254 | if (gps_interface) |
255 | gps_interface->delete_aiding_data(flags); |
256 | } |
257 | |
258 | -bool UbuntuGps_::set_position_mode(uint32_t mode, uint32_t recurrence, uint32_t min_interval, |
259 | +bool UHardwareGps_::set_position_mode(uint32_t mode, uint32_t recurrence, uint32_t min_interval, |
260 | uint32_t preferred_accuracy, uint32_t preferred_time) |
261 | { |
262 | if (gps_interface) |
263 | @@ -364,7 +364,7 @@ |
264 | return false; |
265 | } |
266 | |
267 | -void UbuntuGps_::inject_xtra_data(char* data, int length) |
268 | +void UHardwareGps_::inject_xtra_data(char* data, int length) |
269 | { |
270 | if (gps_xtra_interface) |
271 | gps_xtra_interface->inject_xtra_data(data, length); |
272 | @@ -373,58 +373,58 @@ |
273 | ///////////////////////////////////////////////////////////////////// |
274 | // Implementation of the C API |
275 | |
276 | -UbuntuGps ubuntu_gps_new(UbuntuGpsParams* params) |
277 | +UHardwareGps u_hardware_gps_new(UHardwareGpsParams* params) |
278 | { |
279 | if (hybris_gps_instance != NULL) |
280 | return NULL; |
281 | |
282 | - UbuntuGps ubuntu_gps = new UbuntuGps_(params); |
283 | - hybris_gps_instance = ubuntu_gps; |
284 | + UHardwareGps u_hardware_gps = new UHardwareGps_(params); |
285 | + hybris_gps_instance = u_hardware_gps; |
286 | |
287 | - if (!ubuntu_gps->init()) |
288 | + if (!u_hardware_gps->init()) |
289 | { |
290 | - delete ubuntu_gps; |
291 | - ubuntu_gps = NULL; |
292 | + delete u_hardware_gps; |
293 | + u_hardware_gps = NULL; |
294 | } |
295 | |
296 | - return ubuntu_gps; |
297 | + return u_hardware_gps; |
298 | } |
299 | |
300 | -void ubuntu_gps_delete(UbuntuGps handle) |
301 | +void u_hardware_gps_delete(UHardwareGps handle) |
302 | { |
303 | delete handle; |
304 | if (handle == hybris_gps_instance) |
305 | hybris_gps_instance = NULL; |
306 | } |
307 | |
308 | -bool ubuntu_gps_start(UbuntuGps self) |
309 | +bool u_hardware_gps_start(UHardwareGps self) |
310 | { |
311 | return self->start(); |
312 | } |
313 | |
314 | -bool ubuntu_gps_stop(UbuntuGps self) |
315 | +bool u_hardware_gps_stop(UHardwareGps self) |
316 | { |
317 | return self->stop(); |
318 | } |
319 | |
320 | -void ubuntu_gps_inject_time(UbuntuGps self, int64_t time, int64_t time_reference, |
321 | +void u_hardware_gps_inject_time(UHardwareGps self, int64_t time, int64_t time_reference, |
322 | int uncertainty) |
323 | { |
324 | self->inject_time(time, time_reference, uncertainty); |
325 | } |
326 | |
327 | -void ubuntu_gps_inject_location(UbuntuGps self, double latitude, double longitude, |
328 | +void u_hardware_gps_inject_location(UHardwareGps self, double latitude, double longitude, |
329 | float accuracy) |
330 | { |
331 | self->inject_location(latitude, longitude, accuracy); |
332 | } |
333 | |
334 | -void ubuntu_gps_delete_aiding_data(UbuntuGps self, uint16_t flags) |
335 | +void u_hardware_gps_delete_aiding_data(UHardwareGps self, uint16_t flags) |
336 | { |
337 | self->delete_aiding_data(flags); |
338 | } |
339 | |
340 | -bool ubuntu_gps_set_position_mode(UbuntuGps self, uint32_t mode, uint32_t recurrence, |
341 | +bool u_hardware_gps_set_position_mode(UHardwareGps self, uint32_t mode, uint32_t recurrence, |
342 | uint32_t min_interval, uint32_t preferred_accuracy, |
343 | uint32_t preferred_time) |
344 | { |
345 | @@ -432,7 +432,7 @@ |
346 | preferred_time); |
347 | } |
348 | |
349 | -void ubuntu_gps_inject_xtra_data(UbuntuGps self, char* data, int length) |
350 | +void u_hardware_gps_inject_xtra_data(UHardwareGps self, char* data, int length) |
351 | { |
352 | self->inject_xtra_data(data, length); |
353 | } |
354 | |
355 | === removed file 'android/include/private/ui/config.h' |
356 | --- android/include/private/ui/config.h 2013-05-21 20:54:48 +0000 |
357 | +++ android/include/private/ui/config.h 1970-01-01 00:00:00 +0000 |
358 | @@ -1,24 +0,0 @@ |
359 | -/* |
360 | - * Copyright © 2013 Canonical Ltd. |
361 | - * |
362 | - * This program is free software: you can redistribute it and/or modify |
363 | - * it under the terms of the GNU Lesser General Public License version 3 as |
364 | - * published by the Free Software Foundation. |
365 | - * |
366 | - * This program is distributed in the hope that it will be useful, |
367 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
368 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
369 | - * GNU Lesser General Public License for more details. |
370 | - * |
371 | - * You should have received a copy of the GNU Lesser General Public License |
372 | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
373 | - * |
374 | - * Authored by: Michael Terry <michael.terry@canonical.com> |
375 | - */ |
376 | - |
377 | -#ifndef UBUNTU_UI_CONFIG_H_ |
378 | -#define UBUNTU_UI_CONFIG_H_ |
379 | - |
380 | -#define UBUNTU_USE_GLES 1 |
381 | - |
382 | -#endif // UBUNTU_UI_CONFIG_H_ |
383 | |
384 | === modified file 'android/include/private/ui/session_enumerator.h' |
385 | --- android/include/private/ui/session_enumerator.h 2013-06-07 01:08:41 +0000 |
386 | +++ android/include/private/ui/session_enumerator.h 2013-06-14 14:53:26 +0000 |
387 | @@ -20,15 +20,9 @@ |
388 | #define UBUNTU_UI_SESSION_ENUMERATOR_H_ |
389 | |
390 | #include "private/platform/shared_ptr.h" |
391 | -#include "private/ui/config.h" |
392 | #include "private/ui/well_known_applications.h" |
393 | |
394 | -#if UBUNTU_USE_GLES |
395 | #include <GLES2/gl2.h> |
396 | -#else |
397 | -#include <GL/gl.h> |
398 | -#include <GL/glext.h> |
399 | -#endif |
400 | |
401 | namespace ubuntu |
402 | { |
403 | |
404 | === added directory 'data' |
405 | === added file 'data/CMakeLists.txt' |
406 | --- data/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
407 | +++ data/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
408 | @@ -0,0 +1,8 @@ |
409 | +configure_file( |
410 | + ubuntu-platform-api.pc.in ubuntu-platform-api.pc @ONLY |
411 | +) |
412 | + |
413 | +install( |
414 | + FILES ${CMAKE_CURRENT_BINARY_DIR}/ubuntu-platform-api.pc |
415 | + DESTINATION lib/pkgconfig |
416 | +) |
417 | \ No newline at end of file |
418 | |
419 | === added file 'data/ubuntu-platform-api.pc.in' |
420 | --- data/ubuntu-platform-api.pc.in 1970-01-01 00:00:00 +0000 |
421 | +++ data/ubuntu-platform-api.pc.in 2013-06-14 14:53:26 +0000 |
422 | @@ -0,0 +1,9 @@ |
423 | +prefix=@CMAKE_INSTALL_PREFIX@ |
424 | +exec_prefix=${prefix} |
425 | +libdir=${exec_prefix}/lib |
426 | +includedir=${exec_prefix}/include |
427 | + |
428 | +Name: @CMAKE_PROJECT_NAME@ |
429 | +Description: Ubuntu's platform abstraction layer. |
430 | +Version: @UBUNTU_PLATFORM_API_VERSION_MAJOR@.@UBUNTU_PLATFORM_API_VERSION_MINOR@.@UBUNTU_PLATFORM_API_VERSION_PATCH@ |
431 | +Cflags: -I${includedir}/ubuntu-@UBUNTU_PLATFORM_API_VERSION_MAJOR@ |
432 | |
433 | === modified file 'debian/control' |
434 | --- debian/control 2013-06-04 18:57:12 +0000 |
435 | +++ debian/control 2013-06-14 14:53:26 +0000 |
436 | @@ -3,6 +3,8 @@ |
437 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> |
438 | Build-Depends: cmake, |
439 | debhelper (>= 9), |
440 | + doxygen, |
441 | + graphviz, |
442 | libgl1-mesa-dev[!armhf], |
443 | libgles2-mesa-dev[armhf], |
444 | libhybris-dev, |
445 | |
446 | === modified file 'debian/libplatform-api-headers.install' |
447 | --- debian/libplatform-api-headers.install 2013-03-20 12:49:06 +0000 |
448 | +++ debian/libplatform-api-headers.install 2013-06-14 14:53:26 +0000 |
449 | @@ -1,1 +1,1 @@ |
450 | -usr/include |
451 | +usr/include/ |
452 | |
453 | === modified file 'debian/libplatform-api1-dev.install' |
454 | --- debian/libplatform-api1-dev.install 2013-03-20 12:49:06 +0000 |
455 | +++ debian/libplatform-api1-dev.install 2013-06-14 14:53:26 +0000 |
456 | @@ -1,1 +1,2 @@ |
457 | usr/lib/*/libubuntu_application_api.so |
458 | +usr/lib/pkgconfig/ubuntu-platform-api.pc |
459 | |
460 | === added file 'doc/CMakeLists.txt' |
461 | --- doc/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
462 | +++ doc/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
463 | @@ -0,0 +1,30 @@ |
464 | +# Copyright © 2013 Canonical Ltd. |
465 | +# |
466 | +# This program is free software: you can redistribute it and/or modify |
467 | +# it under the terms of the GNU General Public License version 3 as |
468 | +# published by the Free Software Foundation. |
469 | +# |
470 | +# This program is distributed in the hope that it will be useful, |
471 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
472 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
473 | +# GNU General Public License for more details. |
474 | +# |
475 | +# You should have received a copy of the GNU General Public License |
476 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
477 | +# |
478 | +# Authored by: Thomas Voss <thomas.voss@canonical.com> |
479 | + |
480 | +find_package(Doxygen) |
481 | + |
482 | +if(DOXYGEN_FOUND) |
483 | + configure_file( |
484 | + ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in |
485 | + ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) |
486 | + add_custom_target(doc ALL |
487 | + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile |
488 | + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} |
489 | + COMMENT "Generating API documentation with Doxygen" VERBATIM) |
490 | + install( |
491 | + DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html |
492 | + DESTINATION share/ubuntu-platform-api/doc) |
493 | +endif(DOXYGEN_FOUND) |
494 | \ No newline at end of file |
495 | |
496 | === added file 'doc/Doxyfile.in' |
497 | --- doc/Doxyfile.in 1970-01-01 00:00:00 +0000 |
498 | +++ doc/Doxyfile.in 2013-06-14 14:53:26 +0000 |
499 | @@ -0,0 +1,1869 @@ |
500 | +# Doxyfile 1.8.3.1 |
501 | + |
502 | +# This file describes the settings to be used by the documentation system |
503 | +# doxygen (www.doxygen.org) for a project. |
504 | +# |
505 | +# All text after a hash (#) is considered a comment and will be ignored. |
506 | +# The format is: |
507 | +# TAG = value [value, ...] |
508 | +# For lists items can also be appended using: |
509 | +# TAG += value [value, ...] |
510 | +# Values that contain spaces should be placed between quotes (" "). |
511 | + |
512 | +#--------------------------------------------------------------------------- |
513 | +# Project related configuration options |
514 | +#--------------------------------------------------------------------------- |
515 | + |
516 | +# This tag specifies the encoding used for all characters in the config file |
517 | +# that follow. The default is UTF-8 which is also the encoding used for all |
518 | +# text before the first occurrence of this tag. Doxygen uses libiconv (or the |
519 | +# iconv built into libc) for the transcoding. See |
520 | +# http://www.gnu.org/software/libiconv for the list of possible encodings. |
521 | + |
522 | +DOXYFILE_ENCODING = UTF-8 |
523 | + |
524 | +# The PROJECT_NAME tag is a single word (or sequence of words) that should |
525 | +# identify the project. Note that if you do not use Doxywizard you need |
526 | +# to put quotes around the project name if it contains spaces. |
527 | + |
528 | +PROJECT_NAME = @CMAKE_PROJECT_NAME@ |
529 | + |
530 | +# The PROJECT_NUMBER tag can be used to enter a project or revision number. |
531 | +# This could be handy for archiving the generated documentation or |
532 | +# if some version control system is used. |
533 | + |
534 | +PROJECT_NUMBER = @UBUNTU_PLATFORM_API_VERSION_MAJOR@.@UBUNTU_PLATFORM_API_VERSION_MINOR@.@UBUNTU_PLATFORM_API_VERSION_PATCH@ |
535 | + |
536 | +# Using the PROJECT_BRIEF tag one can provide an optional one line description |
537 | +# for a project that appears at the top of each page and should give viewer |
538 | +# a quick idea about the purpose of the project. Keep the description short. |
539 | + |
540 | +PROJECT_BRIEF = |
541 | + |
542 | +# With the PROJECT_LOGO tag one can specify an logo or icon that is |
543 | +# included in the documentation. The maximum height of the logo should not |
544 | +# exceed 55 pixels and the maximum width should not exceed 200 pixels. |
545 | +# Doxygen will copy the logo to the output directory. |
546 | + |
547 | +PROJECT_LOGO = |
548 | + |
549 | +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) |
550 | +# base path where the generated documentation will be put. |
551 | +# If a relative path is entered, it will be relative to the location |
552 | +# where doxygen was started. If left blank the current directory will be used. |
553 | + |
554 | +OUTPUT_DIRECTORY = |
555 | + |
556 | +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create |
557 | +# 4096 sub-directories (in 2 levels) under the output directory of each output |
558 | +# format and will distribute the generated files over these directories. |
559 | +# Enabling this option can be useful when feeding doxygen a huge amount of |
560 | +# source files, where putting all generated files in the same directory would |
561 | +# otherwise cause performance problems for the file system. |
562 | + |
563 | +CREATE_SUBDIRS = NO |
564 | + |
565 | +# The OUTPUT_LANGUAGE tag is used to specify the language in which all |
566 | +# documentation generated by doxygen is written. Doxygen will use this |
567 | +# information to generate all constant output in the proper language. |
568 | +# The default language is English, other supported languages are: |
569 | +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, |
570 | +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, |
571 | +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English |
572 | +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, |
573 | +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, |
574 | +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. |
575 | + |
576 | +OUTPUT_LANGUAGE = English |
577 | + |
578 | +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will |
579 | +# include brief member descriptions after the members that are listed in |
580 | +# the file and class documentation (similar to JavaDoc). |
581 | +# Set to NO to disable this. |
582 | + |
583 | +BRIEF_MEMBER_DESC = YES |
584 | + |
585 | +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend |
586 | +# the brief description of a member or function before the detailed description. |
587 | +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the |
588 | +# brief descriptions will be completely suppressed. |
589 | + |
590 | +REPEAT_BRIEF = YES |
591 | + |
592 | +# This tag implements a quasi-intelligent brief description abbreviator |
593 | +# that is used to form the text in various listings. Each string |
594 | +# in this list, if found as the leading text of the brief description, will be |
595 | +# stripped from the text and the result after processing the whole list, is |
596 | +# used as the annotated text. Otherwise, the brief description is used as-is. |
597 | +# If left blank, the following values are used ("$name" is automatically |
598 | +# replaced with the name of the entity): "The $name class" "The $name widget" |
599 | +# "The $name file" "is" "provides" "specifies" "contains" |
600 | +# "represents" "a" "an" "the" |
601 | + |
602 | +ABBREVIATE_BRIEF = |
603 | + |
604 | +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then |
605 | +# Doxygen will generate a detailed section even if there is only a brief |
606 | +# description. |
607 | + |
608 | +ALWAYS_DETAILED_SEC = NO |
609 | + |
610 | +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all |
611 | +# inherited members of a class in the documentation of that class as if those |
612 | +# members were ordinary class members. Constructors, destructors and assignment |
613 | +# operators of the base classes will not be shown. |
614 | + |
615 | +INLINE_INHERITED_MEMB = NO |
616 | + |
617 | +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full |
618 | +# path before files name in the file list and in the header files. If set |
619 | +# to NO the shortest path that makes the file name unique will be used. |
620 | + |
621 | +FULL_PATH_NAMES = YES |
622 | + |
623 | +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag |
624 | +# can be used to strip a user-defined part of the path. Stripping is |
625 | +# only done if one of the specified strings matches the left-hand part of |
626 | +# the path. The tag can be used to show relative paths in the file list. |
627 | +# If left blank the directory from which doxygen is run is used as the |
628 | +# path to strip. Note that you specify absolute paths here, but also |
629 | +# relative paths, which will be relative from the directory where doxygen is |
630 | +# started. |
631 | + |
632 | +STRIP_FROM_PATH = |
633 | + |
634 | +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of |
635 | +# the path mentioned in the documentation of a class, which tells |
636 | +# the reader which header file to include in order to use a class. |
637 | +# If left blank only the name of the header file containing the class |
638 | +# definition is used. Otherwise one should specify the include paths that |
639 | +# are normally passed to the compiler using the -I flag. |
640 | + |
641 | +STRIP_FROM_INC_PATH = |
642 | + |
643 | +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter |
644 | +# (but less readable) file names. This can be useful if your file system |
645 | +# doesn't support long names like on DOS, Mac, or CD-ROM. |
646 | + |
647 | +SHORT_NAMES = NO |
648 | + |
649 | +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen |
650 | +# will interpret the first line (until the first dot) of a JavaDoc-style |
651 | +# comment as the brief description. If set to NO, the JavaDoc |
652 | +# comments will behave just like regular Qt-style comments |
653 | +# (thus requiring an explicit @brief command for a brief description.) |
654 | + |
655 | +JAVADOC_AUTOBRIEF = NO |
656 | + |
657 | +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will |
658 | +# interpret the first line (until the first dot) of a Qt-style |
659 | +# comment as the brief description. If set to NO, the comments |
660 | +# will behave just like regular Qt-style comments (thus requiring |
661 | +# an explicit \brief command for a brief description.) |
662 | + |
663 | +QT_AUTOBRIEF = NO |
664 | + |
665 | +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen |
666 | +# treat a multi-line C++ special comment block (i.e. a block of //! or /// |
667 | +# comments) as a brief description. This used to be the default behaviour. |
668 | +# The new default is to treat a multi-line C++ comment block as a detailed |
669 | +# description. Set this tag to YES if you prefer the old behaviour instead. |
670 | + |
671 | +MULTILINE_CPP_IS_BRIEF = NO |
672 | + |
673 | +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented |
674 | +# member inherits the documentation from any documented member that it |
675 | +# re-implements. |
676 | + |
677 | +INHERIT_DOCS = YES |
678 | + |
679 | +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce |
680 | +# a new page for each member. If set to NO, the documentation of a member will |
681 | +# be part of the file/class/namespace that contains it. |
682 | + |
683 | +SEPARATE_MEMBER_PAGES = NO |
684 | + |
685 | +# The TAB_SIZE tag can be used to set the number of spaces in a tab. |
686 | +# Doxygen uses this value to replace tabs by spaces in code fragments. |
687 | + |
688 | +TAB_SIZE = 4 |
689 | + |
690 | +# This tag can be used to specify a number of aliases that acts |
691 | +# as commands in the documentation. An alias has the form "name=value". |
692 | +# For example adding "sideeffect=\par Side Effects:\n" will allow you to |
693 | +# put the command \sideeffect (or @sideeffect) in the documentation, which |
694 | +# will result in a user-defined paragraph with heading "Side Effects:". |
695 | +# You can put \n's in the value part of an alias to insert newlines. |
696 | + |
697 | +ALIASES = |
698 | + |
699 | +# This tag can be used to specify a number of word-keyword mappings (TCL only). |
700 | +# A mapping has the form "name=value". For example adding |
701 | +# "class=itcl::class" will allow you to use the command class in the |
702 | +# itcl::class meaning. |
703 | + |
704 | +TCL_SUBST = |
705 | + |
706 | +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C |
707 | +# sources only. Doxygen will then generate output that is more tailored for C. |
708 | +# For instance, some of the names that are used will be different. The list |
709 | +# of all members will be omitted, etc. |
710 | + |
711 | +OPTIMIZE_OUTPUT_FOR_C = YES |
712 | + |
713 | +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java |
714 | +# sources only. Doxygen will then generate output that is more tailored for |
715 | +# Java. For instance, namespaces will be presented as packages, qualified |
716 | +# scopes will look different, etc. |
717 | + |
718 | +OPTIMIZE_OUTPUT_JAVA = NO |
719 | + |
720 | +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran |
721 | +# sources only. Doxygen will then generate output that is more tailored for |
722 | +# Fortran. |
723 | + |
724 | +OPTIMIZE_FOR_FORTRAN = NO |
725 | + |
726 | +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL |
727 | +# sources. Doxygen will then generate output that is tailored for |
728 | +# VHDL. |
729 | + |
730 | +OPTIMIZE_OUTPUT_VHDL = NO |
731 | + |
732 | +# Doxygen selects the parser to use depending on the extension of the files it |
733 | +# parses. With this tag you can assign which parser to use for a given |
734 | +# extension. Doxygen has a built-in mapping, but you can override or extend it |
735 | +# using this tag. The format is ext=language, where ext is a file extension, |
736 | +# and language is one of the parsers supported by doxygen: IDL, Java, |
737 | +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, |
738 | +# C++. For instance to make doxygen treat .inc files as Fortran files (default |
739 | +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note |
740 | +# that for custom extensions you also need to set FILE_PATTERNS otherwise the |
741 | +# files are not read by doxygen. |
742 | + |
743 | +EXTENSION_MAPPING = |
744 | + |
745 | +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all |
746 | +# comments according to the Markdown format, which allows for more readable |
747 | +# documentation. See http://daringfireball.net/projects/markdown/ for details. |
748 | +# The output of markdown processing is further processed by doxygen, so you |
749 | +# can mix doxygen, HTML, and XML commands with Markdown formatting. |
750 | +# Disable only in case of backward compatibilities issues. |
751 | + |
752 | +MARKDOWN_SUPPORT = YES |
753 | + |
754 | +# When enabled doxygen tries to link words that correspond to documented classes, |
755 | +# or namespaces to their corresponding documentation. Such a link can be |
756 | +# prevented in individual cases by by putting a % sign in front of the word or |
757 | +# globally by setting AUTOLINK_SUPPORT to NO. |
758 | + |
759 | +AUTOLINK_SUPPORT = YES |
760 | + |
761 | +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want |
762 | +# to include (a tag file for) the STL sources as input, then you should |
763 | +# set this tag to YES in order to let doxygen match functions declarations and |
764 | +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. |
765 | +# func(std::string) {}). This also makes the inheritance and collaboration |
766 | +# diagrams that involve STL classes more complete and accurate. |
767 | + |
768 | +BUILTIN_STL_SUPPORT = NO |
769 | + |
770 | +# If you use Microsoft's C++/CLI language, you should set this option to YES to |
771 | +# enable parsing support. |
772 | + |
773 | +CPP_CLI_SUPPORT = NO |
774 | + |
775 | +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. |
776 | +# Doxygen will parse them like normal C++ but will assume all classes use public |
777 | +# instead of private inheritance when no explicit protection keyword is present. |
778 | + |
779 | +SIP_SUPPORT = NO |
780 | + |
781 | +# For Microsoft's IDL there are propget and propput attributes to indicate |
782 | +# getter and setter methods for a property. Setting this option to YES (the |
783 | +# default) will make doxygen replace the get and set methods by a property in |
784 | +# the documentation. This will only work if the methods are indeed getting or |
785 | +# setting a simple type. If this is not the case, or you want to show the |
786 | +# methods anyway, you should set this option to NO. |
787 | + |
788 | +IDL_PROPERTY_SUPPORT = YES |
789 | + |
790 | +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC |
791 | +# tag is set to YES, then doxygen will reuse the documentation of the first |
792 | +# member in the group (if any) for the other members of the group. By default |
793 | +# all members of a group must be documented explicitly. |
794 | + |
795 | +DISTRIBUTE_GROUP_DOC = NO |
796 | + |
797 | +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of |
798 | +# the same type (for instance a group of public functions) to be put as a |
799 | +# subgroup of that type (e.g. under the Public Functions section). Set it to |
800 | +# NO to prevent subgrouping. Alternatively, this can be done per class using |
801 | +# the \nosubgrouping command. |
802 | + |
803 | +SUBGROUPING = YES |
804 | + |
805 | +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and |
806 | +# unions are shown inside the group in which they are included (e.g. using |
807 | +# @ingroup) instead of on a separate page (for HTML and Man pages) or |
808 | +# section (for LaTeX and RTF). |
809 | + |
810 | +INLINE_GROUPED_CLASSES = NO |
811 | + |
812 | +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and |
813 | +# unions with only public data fields will be shown inline in the documentation |
814 | +# of the scope in which they are defined (i.e. file, namespace, or group |
815 | +# documentation), provided this scope is documented. If set to NO (the default), |
816 | +# structs, classes, and unions are shown on a separate page (for HTML and Man |
817 | +# pages) or section (for LaTeX and RTF). |
818 | + |
819 | +INLINE_SIMPLE_STRUCTS = NO |
820 | + |
821 | +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum |
822 | +# is documented as struct, union, or enum with the name of the typedef. So |
823 | +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct |
824 | +# with name TypeT. When disabled the typedef will appear as a member of a file, |
825 | +# namespace, or class. And the struct will be named TypeS. This can typically |
826 | +# be useful for C code in case the coding convention dictates that all compound |
827 | +# types are typedef'ed and only the typedef is referenced, never the tag name. |
828 | + |
829 | +TYPEDEF_HIDES_STRUCT = NO |
830 | + |
831 | +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to |
832 | +# determine which symbols to keep in memory and which to flush to disk. |
833 | +# When the cache is full, less often used symbols will be written to disk. |
834 | +# For small to medium size projects (<1000 input files) the default value is |
835 | +# probably good enough. For larger projects a too small cache size can cause |
836 | +# doxygen to be busy swapping symbols to and from disk most of the time |
837 | +# causing a significant performance penalty. |
838 | +# If the system has enough physical memory increasing the cache will improve the |
839 | +# performance by keeping more symbols in memory. Note that the value works on |
840 | +# a logarithmic scale so increasing the size by one will roughly double the |
841 | +# memory usage. The cache size is given by this formula: |
842 | +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, |
843 | +# corresponding to a cache size of 2^16 = 65536 symbols. |
844 | + |
845 | +SYMBOL_CACHE_SIZE = 0 |
846 | + |
847 | +# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be |
848 | +# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given |
849 | +# their name and scope. Since this can be an expensive process and often the |
850 | +# same symbol appear multiple times in the code, doxygen keeps a cache of |
851 | +# pre-resolved symbols. If the cache is too small doxygen will become slower. |
852 | +# If the cache is too large, memory is wasted. The cache size is given by this |
853 | +# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, |
854 | +# corresponding to a cache size of 2^16 = 65536 symbols. |
855 | + |
856 | +LOOKUP_CACHE_SIZE = 0 |
857 | + |
858 | +#--------------------------------------------------------------------------- |
859 | +# Build related configuration options |
860 | +#--------------------------------------------------------------------------- |
861 | + |
862 | +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in |
863 | +# documentation are documented, even if no documentation was available. |
864 | +# Private class members and static file members will be hidden unless |
865 | +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES |
866 | + |
867 | +EXTRACT_ALL = YES |
868 | + |
869 | +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class |
870 | +# will be included in the documentation. |
871 | + |
872 | +EXTRACT_PRIVATE = NO |
873 | + |
874 | +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal |
875 | +# scope will be included in the documentation. |
876 | + |
877 | +EXTRACT_PACKAGE = NO |
878 | + |
879 | +# If the EXTRACT_STATIC tag is set to YES all static members of a file |
880 | +# will be included in the documentation. |
881 | + |
882 | +EXTRACT_STATIC = NO |
883 | + |
884 | +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) |
885 | +# defined locally in source files will be included in the documentation. |
886 | +# If set to NO only classes defined in header files are included. |
887 | + |
888 | +EXTRACT_LOCAL_CLASSES = YES |
889 | + |
890 | +# This flag is only useful for Objective-C code. When set to YES local |
891 | +# methods, which are defined in the implementation section but not in |
892 | +# the interface are included in the documentation. |
893 | +# If set to NO (the default) only methods in the interface are included. |
894 | + |
895 | +EXTRACT_LOCAL_METHODS = NO |
896 | + |
897 | +# If this flag is set to YES, the members of anonymous namespaces will be |
898 | +# extracted and appear in the documentation as a namespace called |
899 | +# 'anonymous_namespace{file}', where file will be replaced with the base |
900 | +# name of the file that contains the anonymous namespace. By default |
901 | +# anonymous namespaces are hidden. |
902 | + |
903 | +EXTRACT_ANON_NSPACES = NO |
904 | + |
905 | +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all |
906 | +# undocumented members of documented classes, files or namespaces. |
907 | +# If set to NO (the default) these members will be included in the |
908 | +# various overviews, but no documentation section is generated. |
909 | +# This option has no effect if EXTRACT_ALL is enabled. |
910 | + |
911 | +HIDE_UNDOC_MEMBERS = NO |
912 | + |
913 | +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all |
914 | +# undocumented classes that are normally visible in the class hierarchy. |
915 | +# If set to NO (the default) these classes will be included in the various |
916 | +# overviews. This option has no effect if EXTRACT_ALL is enabled. |
917 | + |
918 | +HIDE_UNDOC_CLASSES = NO |
919 | + |
920 | +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all |
921 | +# friend (class|struct|union) declarations. |
922 | +# If set to NO (the default) these declarations will be included in the |
923 | +# documentation. |
924 | + |
925 | +HIDE_FRIEND_COMPOUNDS = NO |
926 | + |
927 | +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any |
928 | +# documentation blocks found inside the body of a function. |
929 | +# If set to NO (the default) these blocks will be appended to the |
930 | +# function's detailed documentation block. |
931 | + |
932 | +HIDE_IN_BODY_DOCS = NO |
933 | + |
934 | +# The INTERNAL_DOCS tag determines if documentation |
935 | +# that is typed after a \internal command is included. If the tag is set |
936 | +# to NO (the default) then the documentation will be excluded. |
937 | +# Set it to YES to include the internal documentation. |
938 | + |
939 | +INTERNAL_DOCS = NO |
940 | + |
941 | +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate |
942 | +# file names in lower-case letters. If set to YES upper-case letters are also |
943 | +# allowed. This is useful if you have classes or files whose names only differ |
944 | +# in case and if your file system supports case sensitive file names. Windows |
945 | +# and Mac users are advised to set this option to NO. |
946 | + |
947 | +CASE_SENSE_NAMES = YES |
948 | + |
949 | +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen |
950 | +# will show members with their full class and namespace scopes in the |
951 | +# documentation. If set to YES the scope will be hidden. |
952 | + |
953 | +HIDE_SCOPE_NAMES = NO |
954 | + |
955 | +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen |
956 | +# will put a list of the files that are included by a file in the documentation |
957 | +# of that file. |
958 | + |
959 | +SHOW_INCLUDE_FILES = YES |
960 | + |
961 | +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen |
962 | +# will list include files with double quotes in the documentation |
963 | +# rather than with sharp brackets. |
964 | + |
965 | +FORCE_LOCAL_INCLUDES = NO |
966 | + |
967 | +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] |
968 | +# is inserted in the documentation for inline members. |
969 | + |
970 | +INLINE_INFO = YES |
971 | + |
972 | +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen |
973 | +# will sort the (detailed) documentation of file and class members |
974 | +# alphabetically by member name. If set to NO the members will appear in |
975 | +# declaration order. |
976 | + |
977 | +SORT_MEMBER_DOCS = YES |
978 | + |
979 | +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the |
980 | +# brief documentation of file, namespace and class members alphabetically |
981 | +# by member name. If set to NO (the default) the members will appear in |
982 | +# declaration order. |
983 | + |
984 | +SORT_BRIEF_DOCS = NO |
985 | + |
986 | +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen |
987 | +# will sort the (brief and detailed) documentation of class members so that |
988 | +# constructors and destructors are listed first. If set to NO (the default) |
989 | +# the constructors will appear in the respective orders defined by |
990 | +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. |
991 | +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO |
992 | +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. |
993 | + |
994 | +SORT_MEMBERS_CTORS_1ST = NO |
995 | + |
996 | +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the |
997 | +# hierarchy of group names into alphabetical order. If set to NO (the default) |
998 | +# the group names will appear in their defined order. |
999 | + |
1000 | +SORT_GROUP_NAMES = NO |
1001 | + |
1002 | +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be |
1003 | +# sorted by fully-qualified names, including namespaces. If set to |
1004 | +# NO (the default), the class list will be sorted only by class name, |
1005 | +# not including the namespace part. |
1006 | +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. |
1007 | +# Note: This option applies only to the class list, not to the |
1008 | +# alphabetical list. |
1009 | + |
1010 | +SORT_BY_SCOPE_NAME = NO |
1011 | + |
1012 | +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to |
1013 | +# do proper type resolution of all parameters of a function it will reject a |
1014 | +# match between the prototype and the implementation of a member function even |
1015 | +# if there is only one candidate or it is obvious which candidate to choose |
1016 | +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen |
1017 | +# will still accept a match between prototype and implementation in such cases. |
1018 | + |
1019 | +STRICT_PROTO_MATCHING = NO |
1020 | + |
1021 | +# The GENERATE_TODOLIST tag can be used to enable (YES) or |
1022 | +# disable (NO) the todo list. This list is created by putting \todo |
1023 | +# commands in the documentation. |
1024 | + |
1025 | +GENERATE_TODOLIST = YES |
1026 | + |
1027 | +# The GENERATE_TESTLIST tag can be used to enable (YES) or |
1028 | +# disable (NO) the test list. This list is created by putting \test |
1029 | +# commands in the documentation. |
1030 | + |
1031 | +GENERATE_TESTLIST = YES |
1032 | + |
1033 | +# The GENERATE_BUGLIST tag can be used to enable (YES) or |
1034 | +# disable (NO) the bug list. This list is created by putting \bug |
1035 | +# commands in the documentation. |
1036 | + |
1037 | +GENERATE_BUGLIST = YES |
1038 | + |
1039 | +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or |
1040 | +# disable (NO) the deprecated list. This list is created by putting |
1041 | +# \deprecated commands in the documentation. |
1042 | + |
1043 | +GENERATE_DEPRECATEDLIST= YES |
1044 | + |
1045 | +# The ENABLED_SECTIONS tag can be used to enable conditional |
1046 | +# documentation sections, marked by \if section-label ... \endif |
1047 | +# and \cond section-label ... \endcond blocks. |
1048 | + |
1049 | +ENABLED_SECTIONS = |
1050 | + |
1051 | +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines |
1052 | +# the initial value of a variable or macro consists of for it to appear in |
1053 | +# the documentation. If the initializer consists of more lines than specified |
1054 | +# here it will be hidden. Use a value of 0 to hide initializers completely. |
1055 | +# The appearance of the initializer of individual variables and macros in the |
1056 | +# documentation can be controlled using \showinitializer or \hideinitializer |
1057 | +# command in the documentation regardless of this setting. |
1058 | + |
1059 | +MAX_INITIALIZER_LINES = 30 |
1060 | + |
1061 | +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated |
1062 | +# at the bottom of the documentation of classes and structs. If set to YES the |
1063 | +# list will mention the files that were used to generate the documentation. |
1064 | + |
1065 | +SHOW_USED_FILES = YES |
1066 | + |
1067 | +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. |
1068 | +# This will remove the Files entry from the Quick Index and from the |
1069 | +# Folder Tree View (if specified). The default is YES. |
1070 | + |
1071 | +SHOW_FILES = YES |
1072 | + |
1073 | +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the |
1074 | +# Namespaces page. |
1075 | +# This will remove the Namespaces entry from the Quick Index |
1076 | +# and from the Folder Tree View (if specified). The default is YES. |
1077 | + |
1078 | +SHOW_NAMESPACES = YES |
1079 | + |
1080 | +# The FILE_VERSION_FILTER tag can be used to specify a program or script that |
1081 | +# doxygen should invoke to get the current version for each file (typically from |
1082 | +# the version control system). Doxygen will invoke the program by executing (via |
1083 | +# popen()) the command <command> <input-file>, where <command> is the value of |
1084 | +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file |
1085 | +# provided by doxygen. Whatever the program writes to standard output |
1086 | +# is used as the file version. See the manual for examples. |
1087 | + |
1088 | +FILE_VERSION_FILTER = |
1089 | + |
1090 | +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed |
1091 | +# by doxygen. The layout file controls the global structure of the generated |
1092 | +# output files in an output format independent way. To create the layout file |
1093 | +# that represents doxygen's defaults, run doxygen with the -l option. |
1094 | +# You can optionally specify a file name after the option, if omitted |
1095 | +# DoxygenLayout.xml will be used as the name of the layout file. |
1096 | + |
1097 | +LAYOUT_FILE = |
1098 | + |
1099 | +# The CITE_BIB_FILES tag can be used to specify one or more bib files |
1100 | +# containing the references data. This must be a list of .bib files. The |
1101 | +# .bib extension is automatically appended if omitted. Using this command |
1102 | +# requires the bibtex tool to be installed. See also |
1103 | +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style |
1104 | +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this |
1105 | +# feature you need bibtex and perl available in the search path. Do not use |
1106 | +# file names with spaces, bibtex cannot handle them. |
1107 | + |
1108 | +CITE_BIB_FILES = |
1109 | + |
1110 | +#--------------------------------------------------------------------------- |
1111 | +# configuration options related to warning and progress messages |
1112 | +#--------------------------------------------------------------------------- |
1113 | + |
1114 | +# The QUIET tag can be used to turn on/off the messages that are generated |
1115 | +# by doxygen. Possible values are YES and NO. If left blank NO is used. |
1116 | + |
1117 | +QUIET = NO |
1118 | + |
1119 | +# The WARNINGS tag can be used to turn on/off the warning messages that are |
1120 | +# generated by doxygen. Possible values are YES and NO. If left blank |
1121 | +# NO is used. |
1122 | + |
1123 | +WARNINGS = YES |
1124 | + |
1125 | +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings |
1126 | +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will |
1127 | +# automatically be disabled. |
1128 | + |
1129 | +WARN_IF_UNDOCUMENTED = YES |
1130 | + |
1131 | +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for |
1132 | +# potential errors in the documentation, such as not documenting some |
1133 | +# parameters in a documented function, or documenting parameters that |
1134 | +# don't exist or using markup commands wrongly. |
1135 | + |
1136 | +WARN_IF_DOC_ERROR = YES |
1137 | + |
1138 | +# The WARN_NO_PARAMDOC option can be enabled to get warnings for |
1139 | +# functions that are documented, but have no documentation for their parameters |
1140 | +# or return value. If set to NO (the default) doxygen will only warn about |
1141 | +# wrong or incomplete parameter documentation, but not about the absence of |
1142 | +# documentation. |
1143 | + |
1144 | +WARN_NO_PARAMDOC = NO |
1145 | + |
1146 | +# The WARN_FORMAT tag determines the format of the warning messages that |
1147 | +# doxygen can produce. The string should contain the $file, $line, and $text |
1148 | +# tags, which will be replaced by the file and line number from which the |
1149 | +# warning originated and the warning text. Optionally the format may contain |
1150 | +# $version, which will be replaced by the version of the file (if it could |
1151 | +# be obtained via FILE_VERSION_FILTER) |
1152 | + |
1153 | +WARN_FORMAT = "$file:$line: $text" |
1154 | + |
1155 | +# The WARN_LOGFILE tag can be used to specify a file to which warning |
1156 | +# and error messages should be written. If left blank the output is written |
1157 | +# to stderr. |
1158 | + |
1159 | +WARN_LOGFILE = |
1160 | + |
1161 | +#--------------------------------------------------------------------------- |
1162 | +# configuration options related to the input files |
1163 | +#--------------------------------------------------------------------------- |
1164 | + |
1165 | +# The INPUT tag can be used to specify the files and/or directories that contain |
1166 | +# documented source files. You may enter file names like "myfile.cpp" or |
1167 | +# directories like "/usr/src/myproject". Separate the files or directories |
1168 | +# with spaces. |
1169 | + |
1170 | +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../include |
1171 | + |
1172 | +# This tag can be used to specify the character encoding of the source files |
1173 | +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is |
1174 | +# also the default input encoding. Doxygen uses libiconv (or the iconv built |
1175 | +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for |
1176 | +# the list of possible encodings. |
1177 | + |
1178 | +INPUT_ENCODING = UTF-8 |
1179 | + |
1180 | +# If the value of the INPUT tag contains directories, you can use the |
1181 | +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp |
1182 | +# and *.h) to filter out the source-files in the directories. If left |
1183 | +# blank the following patterns are tested: |
1184 | +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh |
1185 | +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py |
1186 | +# *.f90 *.f *.for *.vhd *.vhdl |
1187 | + |
1188 | +FILE_PATTERNS = |
1189 | + |
1190 | +# The RECURSIVE tag can be used to turn specify whether or not subdirectories |
1191 | +# should be searched for input files as well. Possible values are YES and NO. |
1192 | +# If left blank NO is used. |
1193 | + |
1194 | +RECURSIVE = YES |
1195 | + |
1196 | +# The EXCLUDE tag can be used to specify files and/or directories that should be |
1197 | +# excluded from the INPUT source files. This way you can easily exclude a |
1198 | +# subdirectory from a directory tree whose root is specified with the INPUT tag. |
1199 | +# Note that relative paths are relative to the directory from which doxygen is |
1200 | +# run. |
1201 | + |
1202 | +EXCLUDE = |
1203 | + |
1204 | +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or |
1205 | +# directories that are symbolic links (a Unix file system feature) are excluded |
1206 | +# from the input. |
1207 | + |
1208 | +EXCLUDE_SYMLINKS = NO |
1209 | + |
1210 | +# If the value of the INPUT tag contains directories, you can use the |
1211 | +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude |
1212 | +# certain files from those directories. Note that the wildcards are matched |
1213 | +# against the file with absolute path, so to exclude all test directories |
1214 | +# for example use the pattern */test/* |
1215 | + |
1216 | +EXCLUDE_PATTERNS = |
1217 | + |
1218 | +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names |
1219 | +# (namespaces, classes, functions, etc.) that should be excluded from the |
1220 | +# output. The symbol name can be a fully qualified name, a word, or if the |
1221 | +# wildcard * is used, a substring. Examples: ANamespace, AClass, |
1222 | +# AClass::ANamespace, ANamespace::*Test |
1223 | + |
1224 | +EXCLUDE_SYMBOLS = |
1225 | + |
1226 | +# The EXAMPLE_PATH tag can be used to specify one or more files or |
1227 | +# directories that contain example code fragments that are included (see |
1228 | +# the \include command). |
1229 | + |
1230 | +EXAMPLE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/../examples |
1231 | + |
1232 | +# If the value of the EXAMPLE_PATH tag contains directories, you can use the |
1233 | +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp |
1234 | +# and *.h) to filter out the source-files in the directories. If left |
1235 | +# blank all files are included. |
1236 | + |
1237 | +EXAMPLE_PATTERNS = |
1238 | + |
1239 | +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be |
1240 | +# searched for input files to be used with the \include or \dontinclude |
1241 | +# commands irrespective of the value of the RECURSIVE tag. |
1242 | +# Possible values are YES and NO. If left blank NO is used. |
1243 | + |
1244 | +EXAMPLE_RECURSIVE = YES |
1245 | + |
1246 | +# The IMAGE_PATH tag can be used to specify one or more files or |
1247 | +# directories that contain image that are included in the documentation (see |
1248 | +# the \image command). |
1249 | + |
1250 | +IMAGE_PATH = |
1251 | + |
1252 | +# The INPUT_FILTER tag can be used to specify a program that doxygen should |
1253 | +# invoke to filter for each input file. Doxygen will invoke the filter program |
1254 | +# by executing (via popen()) the command <filter> <input-file>, where <filter> |
1255 | +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an |
1256 | +# input file. Doxygen will then use the output that the filter program writes |
1257 | +# to standard output. |
1258 | +# If FILTER_PATTERNS is specified, this tag will be |
1259 | +# ignored. |
1260 | + |
1261 | +INPUT_FILTER = |
1262 | + |
1263 | +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern |
1264 | +# basis. |
1265 | +# Doxygen will compare the file name with each pattern and apply the |
1266 | +# filter if there is a match. |
1267 | +# The filters are a list of the form: |
1268 | +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further |
1269 | +# info on how filters are used. If FILTER_PATTERNS is empty or if |
1270 | +# non of the patterns match the file name, INPUT_FILTER is applied. |
1271 | + |
1272 | +FILTER_PATTERNS = |
1273 | + |
1274 | +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using |
1275 | +# INPUT_FILTER) will be used to filter the input files when producing source |
1276 | +# files to browse (i.e. when SOURCE_BROWSER is set to YES). |
1277 | + |
1278 | +FILTER_SOURCE_FILES = NO |
1279 | + |
1280 | +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file |
1281 | +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) |
1282 | +# and it is also possible to disable source filtering for a specific pattern |
1283 | +# using *.ext= (so without naming a filter). This option only has effect when |
1284 | +# FILTER_SOURCE_FILES is enabled. |
1285 | + |
1286 | +FILTER_SOURCE_PATTERNS = |
1287 | + |
1288 | +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that |
1289 | +# is part of the input, its contents will be placed on the main page (index.html). |
1290 | +# This can be useful if you have a project on for instance GitHub and want reuse |
1291 | +# the introduction page also for the doxygen output. |
1292 | + |
1293 | +USE_MDFILE_AS_MAINPAGE = |
1294 | + |
1295 | +#--------------------------------------------------------------------------- |
1296 | +# configuration options related to source browsing |
1297 | +#--------------------------------------------------------------------------- |
1298 | + |
1299 | +# If the SOURCE_BROWSER tag is set to YES then a list of source files will |
1300 | +# be generated. Documented entities will be cross-referenced with these sources. |
1301 | +# Note: To get rid of all source code in the generated output, make sure also |
1302 | +# VERBATIM_HEADERS is set to NO. |
1303 | + |
1304 | +SOURCE_BROWSER = YES |
1305 | + |
1306 | +# Setting the INLINE_SOURCES tag to YES will include the body |
1307 | +# of functions and classes directly in the documentation. |
1308 | + |
1309 | +INLINE_SOURCES = YES |
1310 | + |
1311 | +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct |
1312 | +# doxygen to hide any special comment blocks from generated source code |
1313 | +# fragments. Normal C, C++ and Fortran comments will always remain visible. |
1314 | + |
1315 | +STRIP_CODE_COMMENTS = YES |
1316 | + |
1317 | +# If the REFERENCED_BY_RELATION tag is set to YES |
1318 | +# then for each documented function all documented |
1319 | +# functions referencing it will be listed. |
1320 | + |
1321 | +REFERENCED_BY_RELATION = YES |
1322 | + |
1323 | +# If the REFERENCES_RELATION tag is set to YES |
1324 | +# then for each documented function all documented entities |
1325 | +# called/used by that function will be listed. |
1326 | + |
1327 | +REFERENCES_RELATION = YES |
1328 | + |
1329 | +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) |
1330 | +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from |
1331 | +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will |
1332 | +# link to the source code. |
1333 | +# Otherwise they will link to the documentation. |
1334 | + |
1335 | +REFERENCES_LINK_SOURCE = YES |
1336 | + |
1337 | +# If the USE_HTAGS tag is set to YES then the references to source code |
1338 | +# will point to the HTML generated by the htags(1) tool instead of doxygen |
1339 | +# built-in source browser. The htags tool is part of GNU's global source |
1340 | +# tagging system (see http://www.gnu.org/software/global/global.html). You |
1341 | +# will need version 4.8.6 or higher. |
1342 | + |
1343 | +USE_HTAGS = NO |
1344 | + |
1345 | +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen |
1346 | +# will generate a verbatim copy of the header file for each class for |
1347 | +# which an include is specified. Set to NO to disable this. |
1348 | + |
1349 | +VERBATIM_HEADERS = YES |
1350 | + |
1351 | +#--------------------------------------------------------------------------- |
1352 | +# configuration options related to the alphabetical class index |
1353 | +#--------------------------------------------------------------------------- |
1354 | + |
1355 | +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index |
1356 | +# of all compounds will be generated. Enable this if the project |
1357 | +# contains a lot of classes, structs, unions or interfaces. |
1358 | + |
1359 | +ALPHABETICAL_INDEX = YES |
1360 | + |
1361 | +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then |
1362 | +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns |
1363 | +# in which this list will be split (can be a number in the range [1..20]) |
1364 | + |
1365 | +COLS_IN_ALPHA_INDEX = 5 |
1366 | + |
1367 | +# In case all classes in a project start with a common prefix, all |
1368 | +# classes will be put under the same header in the alphabetical index. |
1369 | +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that |
1370 | +# should be ignored while generating the index headers. |
1371 | + |
1372 | +IGNORE_PREFIX = |
1373 | + |
1374 | +#--------------------------------------------------------------------------- |
1375 | +# configuration options related to the HTML output |
1376 | +#--------------------------------------------------------------------------- |
1377 | + |
1378 | +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will |
1379 | +# generate HTML output. |
1380 | + |
1381 | +GENERATE_HTML = YES |
1382 | + |
1383 | +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. |
1384 | +# If a relative path is entered the value of OUTPUT_DIRECTORY will be |
1385 | +# put in front of it. If left blank `html' will be used as the default path. |
1386 | + |
1387 | +HTML_OUTPUT = html |
1388 | + |
1389 | +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for |
1390 | +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank |
1391 | +# doxygen will generate files with .html extension. |
1392 | + |
1393 | +HTML_FILE_EXTENSION = .html |
1394 | + |
1395 | +# The HTML_HEADER tag can be used to specify a personal HTML header for |
1396 | +# each generated HTML page. If it is left blank doxygen will generate a |
1397 | +# standard header. Note that when using a custom header you are responsible |
1398 | +# for the proper inclusion of any scripts and style sheets that doxygen |
1399 | +# needs, which is dependent on the configuration options used. |
1400 | +# It is advised to generate a default header using "doxygen -w html |
1401 | +# header.html footer.html stylesheet.css YourConfigFile" and then modify |
1402 | +# that header. Note that the header is subject to change so you typically |
1403 | +# have to redo this when upgrading to a newer version of doxygen or when |
1404 | +# changing the value of configuration settings such as GENERATE_TREEVIEW! |
1405 | + |
1406 | +HTML_HEADER = |
1407 | + |
1408 | +# The HTML_FOOTER tag can be used to specify a personal HTML footer for |
1409 | +# each generated HTML page. If it is left blank doxygen will generate a |
1410 | +# standard footer. |
1411 | + |
1412 | +HTML_FOOTER = |
1413 | + |
1414 | +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading |
1415 | +# style sheet that is used by each HTML page. It can be used to |
1416 | +# fine-tune the look of the HTML output. If left blank doxygen will |
1417 | +# generate a default style sheet. Note that it is recommended to use |
1418 | +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this |
1419 | +# tag will in the future become obsolete. |
1420 | + |
1421 | +HTML_STYLESHEET = |
1422 | + |
1423 | +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional |
1424 | +# user-defined cascading style sheet that is included after the standard |
1425 | +# style sheets created by doxygen. Using this option one can overrule |
1426 | +# certain style aspects. This is preferred over using HTML_STYLESHEET |
1427 | +# since it does not replace the standard style sheet and is therefor more |
1428 | +# robust against future updates. Doxygen will copy the style sheet file to |
1429 | +# the output directory. |
1430 | + |
1431 | +HTML_EXTRA_STYLESHEET = |
1432 | + |
1433 | +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or |
1434 | +# other source files which should be copied to the HTML output directory. Note |
1435 | +# that these files will be copied to the base HTML output directory. Use the |
1436 | +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these |
1437 | +# files. In the HTML_STYLESHEET file, use the file name only. Also note that |
1438 | +# the files will be copied as-is; there are no commands or markers available. |
1439 | + |
1440 | +HTML_EXTRA_FILES = |
1441 | + |
1442 | +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. |
1443 | +# Doxygen will adjust the colors in the style sheet and background images |
1444 | +# according to this color. Hue is specified as an angle on a colorwheel, |
1445 | +# see http://en.wikipedia.org/wiki/Hue for more information. |
1446 | +# For instance the value 0 represents red, 60 is yellow, 120 is green, |
1447 | +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. |
1448 | +# The allowed range is 0 to 359. |
1449 | + |
1450 | +HTML_COLORSTYLE_HUE = 220 |
1451 | + |
1452 | +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of |
1453 | +# the colors in the HTML output. For a value of 0 the output will use |
1454 | +# grayscales only. A value of 255 will produce the most vivid colors. |
1455 | + |
1456 | +HTML_COLORSTYLE_SAT = 100 |
1457 | + |
1458 | +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to |
1459 | +# the luminance component of the colors in the HTML output. Values below |
1460 | +# 100 gradually make the output lighter, whereas values above 100 make |
1461 | +# the output darker. The value divided by 100 is the actual gamma applied, |
1462 | +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, |
1463 | +# and 100 does not change the gamma. |
1464 | + |
1465 | +HTML_COLORSTYLE_GAMMA = 80 |
1466 | + |
1467 | +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML |
1468 | +# page will contain the date and time when the page was generated. Setting |
1469 | +# this to NO can help when comparing the output of multiple runs. |
1470 | + |
1471 | +HTML_TIMESTAMP = YES |
1472 | + |
1473 | +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML |
1474 | +# documentation will contain sections that can be hidden and shown after the |
1475 | +# page has loaded. |
1476 | + |
1477 | +HTML_DYNAMIC_SECTIONS = NO |
1478 | + |
1479 | +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of |
1480 | +# entries shown in the various tree structured indices initially; the user |
1481 | +# can expand and collapse entries dynamically later on. Doxygen will expand |
1482 | +# the tree to such a level that at most the specified number of entries are |
1483 | +# visible (unless a fully collapsed tree already exceeds this amount). |
1484 | +# So setting the number of entries 1 will produce a full collapsed tree by |
1485 | +# default. 0 is a special value representing an infinite number of entries |
1486 | +# and will result in a full expanded tree by default. |
1487 | + |
1488 | +HTML_INDEX_NUM_ENTRIES = 100 |
1489 | + |
1490 | +# If the GENERATE_DOCSET tag is set to YES, additional index files |
1491 | +# will be generated that can be used as input for Apple's Xcode 3 |
1492 | +# integrated development environment, introduced with OSX 10.5 (Leopard). |
1493 | +# To create a documentation set, doxygen will generate a Makefile in the |
1494 | +# HTML output directory. Running make will produce the docset in that |
1495 | +# directory and running "make install" will install the docset in |
1496 | +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find |
1497 | +# it at startup. |
1498 | +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html |
1499 | +# for more information. |
1500 | + |
1501 | +GENERATE_DOCSET = NO |
1502 | + |
1503 | +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the |
1504 | +# feed. A documentation feed provides an umbrella under which multiple |
1505 | +# documentation sets from a single provider (such as a company or product suite) |
1506 | +# can be grouped. |
1507 | + |
1508 | +DOCSET_FEEDNAME = "Doxygen generated docs" |
1509 | + |
1510 | +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that |
1511 | +# should uniquely identify the documentation set bundle. This should be a |
1512 | +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen |
1513 | +# will append .docset to the name. |
1514 | + |
1515 | +DOCSET_BUNDLE_ID = org.doxygen.Project |
1516 | + |
1517 | +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely |
1518 | +# identify the documentation publisher. This should be a reverse domain-name |
1519 | +# style string, e.g. com.mycompany.MyDocSet.documentation. |
1520 | + |
1521 | +DOCSET_PUBLISHER_ID = org.doxygen.Publisher |
1522 | + |
1523 | +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. |
1524 | + |
1525 | +DOCSET_PUBLISHER_NAME = Publisher |
1526 | + |
1527 | +# If the GENERATE_HTMLHELP tag is set to YES, additional index files |
1528 | +# will be generated that can be used as input for tools like the |
1529 | +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) |
1530 | +# of the generated HTML documentation. |
1531 | + |
1532 | +GENERATE_HTMLHELP = NO |
1533 | + |
1534 | +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can |
1535 | +# be used to specify the file name of the resulting .chm file. You |
1536 | +# can add a path in front of the file if the result should not be |
1537 | +# written to the html output directory. |
1538 | + |
1539 | +CHM_FILE = |
1540 | + |
1541 | +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can |
1542 | +# be used to specify the location (absolute path including file name) of |
1543 | +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run |
1544 | +# the HTML help compiler on the generated index.hhp. |
1545 | + |
1546 | +HHC_LOCATION = |
1547 | + |
1548 | +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag |
1549 | +# controls if a separate .chi index file is generated (YES) or that |
1550 | +# it should be included in the master .chm file (NO). |
1551 | + |
1552 | +GENERATE_CHI = NO |
1553 | + |
1554 | +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING |
1555 | +# is used to encode HtmlHelp index (hhk), content (hhc) and project file |
1556 | +# content. |
1557 | + |
1558 | +CHM_INDEX_ENCODING = |
1559 | + |
1560 | +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag |
1561 | +# controls whether a binary table of contents is generated (YES) or a |
1562 | +# normal table of contents (NO) in the .chm file. |
1563 | + |
1564 | +BINARY_TOC = NO |
1565 | + |
1566 | +# The TOC_EXPAND flag can be set to YES to add extra items for group members |
1567 | +# to the contents of the HTML help documentation and to the tree view. |
1568 | + |
1569 | +TOC_EXPAND = NO |
1570 | + |
1571 | +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and |
1572 | +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated |
1573 | +# that can be used as input for Qt's qhelpgenerator to generate a |
1574 | +# Qt Compressed Help (.qch) of the generated HTML documentation. |
1575 | + |
1576 | +GENERATE_QHP = NO |
1577 | + |
1578 | +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can |
1579 | +# be used to specify the file name of the resulting .qch file. |
1580 | +# The path specified is relative to the HTML output folder. |
1581 | + |
1582 | +QCH_FILE = |
1583 | + |
1584 | +# The QHP_NAMESPACE tag specifies the namespace to use when generating |
1585 | +# Qt Help Project output. For more information please see |
1586 | +# http://doc.trolltech.com/qthelpproject.html#namespace |
1587 | + |
1588 | +QHP_NAMESPACE = org.doxygen.Project |
1589 | + |
1590 | +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating |
1591 | +# Qt Help Project output. For more information please see |
1592 | +# http://doc.trolltech.com/qthelpproject.html#virtual-folders |
1593 | + |
1594 | +QHP_VIRTUAL_FOLDER = doc |
1595 | + |
1596 | +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to |
1597 | +# add. For more information please see |
1598 | +# http://doc.trolltech.com/qthelpproject.html#custom-filters |
1599 | + |
1600 | +QHP_CUST_FILTER_NAME = |
1601 | + |
1602 | +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the |
1603 | +# custom filter to add. For more information please see |
1604 | +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> |
1605 | +# Qt Help Project / Custom Filters</a>. |
1606 | + |
1607 | +QHP_CUST_FILTER_ATTRS = |
1608 | + |
1609 | +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this |
1610 | +# project's |
1611 | +# filter section matches. |
1612 | +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> |
1613 | +# Qt Help Project / Filter Attributes</a>. |
1614 | + |
1615 | +QHP_SECT_FILTER_ATTRS = |
1616 | + |
1617 | +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can |
1618 | +# be used to specify the location of Qt's qhelpgenerator. |
1619 | +# If non-empty doxygen will try to run qhelpgenerator on the generated |
1620 | +# .qhp file. |
1621 | + |
1622 | +QHG_LOCATION = |
1623 | + |
1624 | +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files |
1625 | +# will be generated, which together with the HTML files, form an Eclipse help |
1626 | +# plugin. To install this plugin and make it available under the help contents |
1627 | +# menu in Eclipse, the contents of the directory containing the HTML and XML |
1628 | +# files needs to be copied into the plugins directory of eclipse. The name of |
1629 | +# the directory within the plugins directory should be the same as |
1630 | +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before |
1631 | +# the help appears. |
1632 | + |
1633 | +GENERATE_ECLIPSEHELP = NO |
1634 | + |
1635 | +# A unique identifier for the eclipse help plugin. When installing the plugin |
1636 | +# the directory name containing the HTML and XML files should also have |
1637 | +# this name. |
1638 | + |
1639 | +ECLIPSE_DOC_ID = org.doxygen.Project |
1640 | + |
1641 | +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) |
1642 | +# at top of each HTML page. The value NO (the default) enables the index and |
1643 | +# the value YES disables it. Since the tabs have the same information as the |
1644 | +# navigation tree you can set this option to NO if you already set |
1645 | +# GENERATE_TREEVIEW to YES. |
1646 | + |
1647 | +DISABLE_INDEX = NO |
1648 | + |
1649 | +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index |
1650 | +# structure should be generated to display hierarchical information. |
1651 | +# If the tag value is set to YES, a side panel will be generated |
1652 | +# containing a tree-like index structure (just like the one that |
1653 | +# is generated for HTML Help). For this to work a browser that supports |
1654 | +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). |
1655 | +# Windows users are probably better off using the HTML help feature. |
1656 | +# Since the tree basically has the same information as the tab index you |
1657 | +# could consider to set DISABLE_INDEX to NO when enabling this option. |
1658 | + |
1659 | +GENERATE_TREEVIEW = NO |
1660 | + |
1661 | +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values |
1662 | +# (range [0,1..20]) that doxygen will group on one line in the generated HTML |
1663 | +# documentation. Note that a value of 0 will completely suppress the enum |
1664 | +# values from appearing in the overview section. |
1665 | + |
1666 | +ENUM_VALUES_PER_LINE = 1 |
1667 | + |
1668 | +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be |
1669 | +# used to set the initial width (in pixels) of the frame in which the tree |
1670 | +# is shown. |
1671 | + |
1672 | +TREEVIEW_WIDTH = 250 |
1673 | + |
1674 | +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open |
1675 | +# links to external symbols imported via tag files in a separate window. |
1676 | + |
1677 | +EXT_LINKS_IN_WINDOW = NO |
1678 | + |
1679 | +# Use this tag to change the font size of Latex formulas included |
1680 | +# as images in the HTML documentation. The default is 10. Note that |
1681 | +# when you change the font size after a successful doxygen run you need |
1682 | +# to manually remove any form_*.png images from the HTML output directory |
1683 | +# to force them to be regenerated. |
1684 | + |
1685 | +FORMULA_FONTSIZE = 10 |
1686 | + |
1687 | +# Use the FORMULA_TRANPARENT tag to determine whether or not the images |
1688 | +# generated for formulas are transparent PNGs. Transparent PNGs are |
1689 | +# not supported properly for IE 6.0, but are supported on all modern browsers. |
1690 | +# Note that when changing this option you need to delete any form_*.png files |
1691 | +# in the HTML output before the changes have effect. |
1692 | + |
1693 | +FORMULA_TRANSPARENT = YES |
1694 | + |
1695 | +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax |
1696 | +# (see http://www.mathjax.org) which uses client side Javascript for the |
1697 | +# rendering instead of using prerendered bitmaps. Use this if you do not |
1698 | +# have LaTeX installed or if you want to formulas look prettier in the HTML |
1699 | +# output. When enabled you may also need to install MathJax separately and |
1700 | +# configure the path to it using the MATHJAX_RELPATH option. |
1701 | + |
1702 | +USE_MATHJAX = NO |
1703 | + |
1704 | +# When MathJax is enabled you can set the default output format to be used for |
1705 | +# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and |
1706 | +# SVG. The default value is HTML-CSS, which is slower, but has the best |
1707 | +# compatibility. |
1708 | + |
1709 | +MATHJAX_FORMAT = HTML-CSS |
1710 | + |
1711 | +# When MathJax is enabled you need to specify the location relative to the |
1712 | +# HTML output directory using the MATHJAX_RELPATH option. The destination |
1713 | +# directory should contain the MathJax.js script. For instance, if the mathjax |
1714 | +# directory is located at the same level as the HTML output directory, then |
1715 | +# MATHJAX_RELPATH should be ../mathjax. The default value points to |
1716 | +# the MathJax Content Delivery Network so you can quickly see the result without |
1717 | +# installing MathJax. |
1718 | +# However, it is strongly recommended to install a local |
1719 | +# copy of MathJax from http://www.mathjax.org before deployment. |
1720 | + |
1721 | +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest |
1722 | + |
1723 | +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension |
1724 | +# names that should be enabled during MathJax rendering. |
1725 | + |
1726 | +MATHJAX_EXTENSIONS = |
1727 | + |
1728 | +# When the SEARCHENGINE tag is enabled doxygen will generate a search box |
1729 | +# for the HTML output. The underlying search engine uses javascript |
1730 | +# and DHTML and should work on any modern browser. Note that when using |
1731 | +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets |
1732 | +# (GENERATE_DOCSET) there is already a search function so this one should |
1733 | +# typically be disabled. For large projects the javascript based search engine |
1734 | +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. |
1735 | + |
1736 | +SEARCHENGINE = YES |
1737 | + |
1738 | +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be |
1739 | +# implemented using a web server instead of a web client using Javascript. |
1740 | +# There are two flavours of web server based search depending on the |
1741 | +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for |
1742 | +# searching and an index file used by the script. When EXTERNAL_SEARCH is |
1743 | +# enabled the indexing and searching needs to be provided by external tools. |
1744 | +# See the manual for details. |
1745 | + |
1746 | +SERVER_BASED_SEARCH = NO |
1747 | + |
1748 | +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP |
1749 | +# script for searching. Instead the search results are written to an XML file |
1750 | +# which needs to be processed by an external indexer. Doxygen will invoke an |
1751 | +# external search engine pointed to by the SEARCHENGINE_URL option to obtain |
1752 | +# the search results. Doxygen ships with an example indexer (doxyindexer) and |
1753 | +# search engine (doxysearch.cgi) which are based on the open source search engine |
1754 | +# library Xapian. See the manual for configuration details. |
1755 | + |
1756 | +EXTERNAL_SEARCH = NO |
1757 | + |
1758 | +# The SEARCHENGINE_URL should point to a search engine hosted by a web server |
1759 | +# which will returned the search results when EXTERNAL_SEARCH is enabled. |
1760 | +# Doxygen ships with an example search engine (doxysearch) which is based on |
1761 | +# the open source search engine library Xapian. See the manual for configuration |
1762 | +# details. |
1763 | + |
1764 | +SEARCHENGINE_URL = |
1765 | + |
1766 | +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed |
1767 | +# search data is written to a file for indexing by an external tool. With the |
1768 | +# SEARCHDATA_FILE tag the name of this file can be specified. |
1769 | + |
1770 | +SEARCHDATA_FILE = searchdata.xml |
1771 | + |
1772 | +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the |
1773 | +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is |
1774 | +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple |
1775 | +# projects and redirect the results back to the right project. |
1776 | + |
1777 | +EXTERNAL_SEARCH_ID = |
1778 | + |
1779 | +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen |
1780 | +# projects other than the one defined by this configuration file, but that are |
1781 | +# all added to the same external search index. Each project needs to have a |
1782 | +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id |
1783 | +# of to a relative location where the documentation can be found. |
1784 | +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... |
1785 | + |
1786 | +EXTRA_SEARCH_MAPPINGS = |
1787 | + |
1788 | +#--------------------------------------------------------------------------- |
1789 | +# configuration options related to the LaTeX output |
1790 | +#--------------------------------------------------------------------------- |
1791 | + |
1792 | +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will |
1793 | +# generate Latex output. |
1794 | + |
1795 | +GENERATE_LATEX = NO |
1796 | + |
1797 | +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. |
1798 | +# If a relative path is entered the value of OUTPUT_DIRECTORY will be |
1799 | +# put in front of it. If left blank `latex' will be used as the default path. |
1800 | + |
1801 | +LATEX_OUTPUT = latex |
1802 | + |
1803 | +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be |
1804 | +# invoked. If left blank `latex' will be used as the default command name. |
1805 | +# Note that when enabling USE_PDFLATEX this option is only used for |
1806 | +# generating bitmaps for formulas in the HTML output, but not in the |
1807 | +# Makefile that is written to the output directory. |
1808 | + |
1809 | +LATEX_CMD_NAME = latex |
1810 | + |
1811 | +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to |
1812 | +# generate index for LaTeX. If left blank `makeindex' will be used as the |
1813 | +# default command name. |
1814 | + |
1815 | +MAKEINDEX_CMD_NAME = makeindex |
1816 | + |
1817 | +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact |
1818 | +# LaTeX documents. This may be useful for small projects and may help to |
1819 | +# save some trees in general. |
1820 | + |
1821 | +COMPACT_LATEX = NO |
1822 | + |
1823 | +# The PAPER_TYPE tag can be used to set the paper type that is used |
1824 | +# by the printer. Possible values are: a4, letter, legal and |
1825 | +# executive. If left blank a4wide will be used. |
1826 | + |
1827 | +PAPER_TYPE = a4 |
1828 | + |
1829 | +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX |
1830 | +# packages that should be included in the LaTeX output. |
1831 | + |
1832 | +EXTRA_PACKAGES = |
1833 | + |
1834 | +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for |
1835 | +# the generated latex document. The header should contain everything until |
1836 | +# the first chapter. If it is left blank doxygen will generate a |
1837 | +# standard header. Notice: only use this tag if you know what you are doing! |
1838 | + |
1839 | +LATEX_HEADER = |
1840 | + |
1841 | +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for |
1842 | +# the generated latex document. The footer should contain everything after |
1843 | +# the last chapter. If it is left blank doxygen will generate a |
1844 | +# standard footer. Notice: only use this tag if you know what you are doing! |
1845 | + |
1846 | +LATEX_FOOTER = |
1847 | + |
1848 | +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated |
1849 | +# is prepared for conversion to pdf (using ps2pdf). The pdf file will |
1850 | +# contain links (just like the HTML output) instead of page references |
1851 | +# This makes the output suitable for online browsing using a pdf viewer. |
1852 | + |
1853 | +PDF_HYPERLINKS = YES |
1854 | + |
1855 | +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of |
1856 | +# plain latex in the generated Makefile. Set this option to YES to get a |
1857 | +# higher quality PDF documentation. |
1858 | + |
1859 | +USE_PDFLATEX = YES |
1860 | + |
1861 | +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. |
1862 | +# command to the generated LaTeX files. This will instruct LaTeX to keep |
1863 | +# running if errors occur, instead of asking the user for help. |
1864 | +# This option is also used when generating formulas in HTML. |
1865 | + |
1866 | +LATEX_BATCHMODE = NO |
1867 | + |
1868 | +# If LATEX_HIDE_INDICES is set to YES then doxygen will not |
1869 | +# include the index chapters (such as File Index, Compound Index, etc.) |
1870 | +# in the output. |
1871 | + |
1872 | +LATEX_HIDE_INDICES = NO |
1873 | + |
1874 | +# If LATEX_SOURCE_CODE is set to YES then doxygen will include |
1875 | +# source code with syntax highlighting in the LaTeX output. |
1876 | +# Note that which sources are shown also depends on other settings |
1877 | +# such as SOURCE_BROWSER. |
1878 | + |
1879 | +LATEX_SOURCE_CODE = NO |
1880 | + |
1881 | +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the |
1882 | +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See |
1883 | +# http://en.wikipedia.org/wiki/BibTeX for more info. |
1884 | + |
1885 | +LATEX_BIB_STYLE = plain |
1886 | + |
1887 | +#--------------------------------------------------------------------------- |
1888 | +# configuration options related to the RTF output |
1889 | +#--------------------------------------------------------------------------- |
1890 | + |
1891 | +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output |
1892 | +# The RTF output is optimized for Word 97 and may not look very pretty with |
1893 | +# other RTF readers or editors. |
1894 | + |
1895 | +GENERATE_RTF = NO |
1896 | + |
1897 | +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. |
1898 | +# If a relative path is entered the value of OUTPUT_DIRECTORY will be |
1899 | +# put in front of it. If left blank `rtf' will be used as the default path. |
1900 | + |
1901 | +RTF_OUTPUT = rtf |
1902 | + |
1903 | +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact |
1904 | +# RTF documents. This may be useful for small projects and may help to |
1905 | +# save some trees in general. |
1906 | + |
1907 | +COMPACT_RTF = NO |
1908 | + |
1909 | +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated |
1910 | +# will contain hyperlink fields. The RTF file will |
1911 | +# contain links (just like the HTML output) instead of page references. |
1912 | +# This makes the output suitable for online browsing using WORD or other |
1913 | +# programs which support those fields. |
1914 | +# Note: wordpad (write) and others do not support links. |
1915 | + |
1916 | +RTF_HYPERLINKS = NO |
1917 | + |
1918 | +# Load style sheet definitions from file. Syntax is similar to doxygen's |
1919 | +# config file, i.e. a series of assignments. You only have to provide |
1920 | +# replacements, missing definitions are set to their default value. |
1921 | + |
1922 | +RTF_STYLESHEET_FILE = |
1923 | + |
1924 | +# Set optional variables used in the generation of an rtf document. |
1925 | +# Syntax is similar to doxygen's config file. |
1926 | + |
1927 | +RTF_EXTENSIONS_FILE = |
1928 | + |
1929 | +#--------------------------------------------------------------------------- |
1930 | +# configuration options related to the man page output |
1931 | +#--------------------------------------------------------------------------- |
1932 | + |
1933 | +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will |
1934 | +# generate man pages |
1935 | + |
1936 | +GENERATE_MAN = NO |
1937 | + |
1938 | +# The MAN_OUTPUT tag is used to specify where the man pages will be put. |
1939 | +# If a relative path is entered the value of OUTPUT_DIRECTORY will be |
1940 | +# put in front of it. If left blank `man' will be used as the default path. |
1941 | + |
1942 | +MAN_OUTPUT = man |
1943 | + |
1944 | +# The MAN_EXTENSION tag determines the extension that is added to |
1945 | +# the generated man pages (default is the subroutine's section .3) |
1946 | + |
1947 | +MAN_EXTENSION = .3 |
1948 | + |
1949 | +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, |
1950 | +# then it will generate one additional man file for each entity |
1951 | +# documented in the real man page(s). These additional files |
1952 | +# only source the real man page, but without them the man command |
1953 | +# would be unable to find the correct page. The default is NO. |
1954 | + |
1955 | +MAN_LINKS = NO |
1956 | + |
1957 | +#--------------------------------------------------------------------------- |
1958 | +# configuration options related to the XML output |
1959 | +#--------------------------------------------------------------------------- |
1960 | + |
1961 | +# If the GENERATE_XML tag is set to YES Doxygen will |
1962 | +# generate an XML file that captures the structure of |
1963 | +# the code including all documentation. |
1964 | + |
1965 | +GENERATE_XML = NO |
1966 | + |
1967 | +# The XML_OUTPUT tag is used to specify where the XML pages will be put. |
1968 | +# If a relative path is entered the value of OUTPUT_DIRECTORY will be |
1969 | +# put in front of it. If left blank `xml' will be used as the default path. |
1970 | + |
1971 | +XML_OUTPUT = xml |
1972 | + |
1973 | +# The XML_SCHEMA tag can be used to specify an XML schema, |
1974 | +# which can be used by a validating XML parser to check the |
1975 | +# syntax of the XML files. |
1976 | + |
1977 | +XML_SCHEMA = |
1978 | + |
1979 | +# The XML_DTD tag can be used to specify an XML DTD, |
1980 | +# which can be used by a validating XML parser to check the |
1981 | +# syntax of the XML files. |
1982 | + |
1983 | +XML_DTD = |
1984 | + |
1985 | +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will |
1986 | +# dump the program listings (including syntax highlighting |
1987 | +# and cross-referencing information) to the XML output. Note that |
1988 | +# enabling this will significantly increase the size of the XML output. |
1989 | + |
1990 | +XML_PROGRAMLISTING = YES |
1991 | + |
1992 | +#--------------------------------------------------------------------------- |
1993 | +# configuration options for the AutoGen Definitions output |
1994 | +#--------------------------------------------------------------------------- |
1995 | + |
1996 | +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will |
1997 | +# generate an AutoGen Definitions (see autogen.sf.net) file |
1998 | +# that captures the structure of the code including all |
1999 | +# documentation. Note that this feature is still experimental |
2000 | +# and incomplete at the moment. |
2001 | + |
2002 | +GENERATE_AUTOGEN_DEF = NO |
2003 | + |
2004 | +#--------------------------------------------------------------------------- |
2005 | +# configuration options related to the Perl module output |
2006 | +#--------------------------------------------------------------------------- |
2007 | + |
2008 | +# If the GENERATE_PERLMOD tag is set to YES Doxygen will |
2009 | +# generate a Perl module file that captures the structure of |
2010 | +# the code including all documentation. Note that this |
2011 | +# feature is still experimental and incomplete at the |
2012 | +# moment. |
2013 | + |
2014 | +GENERATE_PERLMOD = NO |
2015 | + |
2016 | +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate |
2017 | +# the necessary Makefile rules, Perl scripts and LaTeX code to be able |
2018 | +# to generate PDF and DVI output from the Perl module output. |
2019 | + |
2020 | +PERLMOD_LATEX = NO |
2021 | + |
2022 | +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be |
2023 | +# nicely formatted so it can be parsed by a human reader. |
2024 | +# This is useful |
2025 | +# if you want to understand what is going on. |
2026 | +# On the other hand, if this |
2027 | +# tag is set to NO the size of the Perl module output will be much smaller |
2028 | +# and Perl will parse it just the same. |
2029 | + |
2030 | +PERLMOD_PRETTY = YES |
2031 | + |
2032 | +# The names of the make variables in the generated doxyrules.make file |
2033 | +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. |
2034 | +# This is useful so different doxyrules.make files included by the same |
2035 | +# Makefile don't overwrite each other's variables. |
2036 | + |
2037 | +PERLMOD_MAKEVAR_PREFIX = |
2038 | + |
2039 | +#--------------------------------------------------------------------------- |
2040 | +# Configuration options related to the preprocessor |
2041 | +#--------------------------------------------------------------------------- |
2042 | + |
2043 | +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will |
2044 | +# evaluate all C-preprocessor directives found in the sources and include |
2045 | +# files. |
2046 | + |
2047 | +ENABLE_PREPROCESSING = YES |
2048 | + |
2049 | +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro |
2050 | +# names in the source code. If set to NO (the default) only conditional |
2051 | +# compilation will be performed. Macro expansion can be done in a controlled |
2052 | +# way by setting EXPAND_ONLY_PREDEF to YES. |
2053 | + |
2054 | +MACRO_EXPANSION = NO |
2055 | + |
2056 | +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES |
2057 | +# then the macro expansion is limited to the macros specified with the |
2058 | +# PREDEFINED and EXPAND_AS_DEFINED tags. |
2059 | + |
2060 | +EXPAND_ONLY_PREDEF = NO |
2061 | + |
2062 | +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files |
2063 | +# pointed to by INCLUDE_PATH will be searched when a #include is found. |
2064 | + |
2065 | +SEARCH_INCLUDES = YES |
2066 | + |
2067 | +# The INCLUDE_PATH tag can be used to specify one or more directories that |
2068 | +# contain include files that are not input files but should be processed by |
2069 | +# the preprocessor. |
2070 | + |
2071 | +INCLUDE_PATH = |
2072 | + |
2073 | +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard |
2074 | +# patterns (like *.h and *.hpp) to filter out the header-files in the |
2075 | +# directories. If left blank, the patterns specified with FILE_PATTERNS will |
2076 | +# be used. |
2077 | + |
2078 | +INCLUDE_FILE_PATTERNS = |
2079 | + |
2080 | +# The PREDEFINED tag can be used to specify one or more macro names that |
2081 | +# are defined before the preprocessor is started (similar to the -D option of |
2082 | +# gcc). The argument of the tag is a list of macros of the form: name |
2083 | +# or name=definition (no spaces). If the definition and the = are |
2084 | +# omitted =1 is assumed. To prevent a macro definition from being |
2085 | +# undefined via #undef or recursively expanded use the := operator |
2086 | +# instead of the = operator. |
2087 | + |
2088 | +PREDEFINED = |
2089 | + |
2090 | +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then |
2091 | +# this tag can be used to specify a list of macro names that should be expanded. |
2092 | +# The macro definition that is found in the sources will be used. |
2093 | +# Use the PREDEFINED tag if you want to use a different macro definition that |
2094 | +# overrules the definition found in the source code. |
2095 | + |
2096 | +EXPAND_AS_DEFINED = |
2097 | + |
2098 | +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then |
2099 | +# doxygen's preprocessor will remove all references to function-like macros |
2100 | +# that are alone on a line, have an all uppercase name, and do not end with a |
2101 | +# semicolon, because these will confuse the parser if not removed. |
2102 | + |
2103 | +SKIP_FUNCTION_MACROS = YES |
2104 | + |
2105 | +#--------------------------------------------------------------------------- |
2106 | +# Configuration::additions related to external references |
2107 | +#--------------------------------------------------------------------------- |
2108 | + |
2109 | +# The TAGFILES option can be used to specify one or more tagfiles. For each |
2110 | +# tag file the location of the external documentation should be added. The |
2111 | +# format of a tag file without this location is as follows: |
2112 | +# |
2113 | +# TAGFILES = file1 file2 ... |
2114 | +# Adding location for the tag files is done as follows: |
2115 | +# |
2116 | +# TAGFILES = file1=loc1 "file2 = loc2" ... |
2117 | +# where "loc1" and "loc2" can be relative or absolute paths |
2118 | +# or URLs. Note that each tag file must have a unique name (where the name does |
2119 | +# NOT include the path). If a tag file is not located in the directory in which |
2120 | +# doxygen is run, you must also specify the path to the tagfile here. |
2121 | + |
2122 | +TAGFILES = |
2123 | + |
2124 | +# When a file name is specified after GENERATE_TAGFILE, doxygen will create |
2125 | +# a tag file that is based on the input files it reads. |
2126 | + |
2127 | +GENERATE_TAGFILE = |
2128 | + |
2129 | +# If the ALLEXTERNALS tag is set to YES all external classes will be listed |
2130 | +# in the class index. If set to NO only the inherited external classes |
2131 | +# will be listed. |
2132 | + |
2133 | +ALLEXTERNALS = NO |
2134 | + |
2135 | +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed |
2136 | +# in the modules index. If set to NO, only the current project's groups will |
2137 | +# be listed. |
2138 | + |
2139 | +EXTERNAL_GROUPS = YES |
2140 | + |
2141 | +# The PERL_PATH should be the absolute path and name of the perl script |
2142 | +# interpreter (i.e. the result of `which perl'). |
2143 | + |
2144 | +PERL_PATH = /usr/bin/perl |
2145 | + |
2146 | +#--------------------------------------------------------------------------- |
2147 | +# Configuration options related to the dot tool |
2148 | +#--------------------------------------------------------------------------- |
2149 | + |
2150 | +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will |
2151 | +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base |
2152 | +# or super classes. Setting the tag to NO turns the diagrams off. Note that |
2153 | +# this option also works with HAVE_DOT disabled, but it is recommended to |
2154 | +# install and use dot, since it yields more powerful graphs. |
2155 | + |
2156 | +CLASS_DIAGRAMS = YES |
2157 | + |
2158 | +# You can define message sequence charts within doxygen comments using the \msc |
2159 | +# command. Doxygen will then run the mscgen tool (see |
2160 | +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the |
2161 | +# documentation. The MSCGEN_PATH tag allows you to specify the directory where |
2162 | +# the mscgen tool resides. If left empty the tool is assumed to be found in the |
2163 | +# default search path. |
2164 | + |
2165 | +MSCGEN_PATH = |
2166 | + |
2167 | +# If set to YES, the inheritance and collaboration graphs will hide |
2168 | +# inheritance and usage relations if the target is undocumented |
2169 | +# or is not a class. |
2170 | + |
2171 | +HIDE_UNDOC_RELATIONS = NO |
2172 | + |
2173 | +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is |
2174 | +# available from the path. This tool is part of Graphviz, a graph visualization |
2175 | +# toolkit from AT&T and Lucent Bell Labs. The other options in this section |
2176 | +# have no effect if this option is set to NO (the default) |
2177 | + |
2178 | +HAVE_DOT = YES |
2179 | + |
2180 | +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is |
2181 | +# allowed to run in parallel. When set to 0 (the default) doxygen will |
2182 | +# base this on the number of processors available in the system. You can set it |
2183 | +# explicitly to a value larger than 0 to get control over the balance |
2184 | +# between CPU load and processing speed. |
2185 | + |
2186 | +DOT_NUM_THREADS = 0 |
2187 | + |
2188 | +# By default doxygen will use the Helvetica font for all dot files that |
2189 | +# doxygen generates. When you want a differently looking font you can specify |
2190 | +# the font name using DOT_FONTNAME. You need to make sure dot is able to find |
2191 | +# the font, which can be done by putting it in a standard location or by setting |
2192 | +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the |
2193 | +# directory containing the font. |
2194 | + |
2195 | +DOT_FONTNAME = Helvetica |
2196 | + |
2197 | +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. |
2198 | +# The default size is 10pt. |
2199 | + |
2200 | +DOT_FONTSIZE = 10 |
2201 | + |
2202 | +# By default doxygen will tell dot to use the Helvetica font. |
2203 | +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to |
2204 | +# set the path where dot can find it. |
2205 | + |
2206 | +DOT_FONTPATH = |
2207 | + |
2208 | +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen |
2209 | +# will generate a graph for each documented class showing the direct and |
2210 | +# indirect inheritance relations. Setting this tag to YES will force the |
2211 | +# CLASS_DIAGRAMS tag to NO. |
2212 | + |
2213 | +CLASS_GRAPH = YES |
2214 | + |
2215 | +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen |
2216 | +# will generate a graph for each documented class showing the direct and |
2217 | +# indirect implementation dependencies (inheritance, containment, and |
2218 | +# class references variables) of the class with other documented classes. |
2219 | + |
2220 | +COLLABORATION_GRAPH = YES |
2221 | + |
2222 | +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen |
2223 | +# will generate a graph for groups, showing the direct groups dependencies |
2224 | + |
2225 | +GROUP_GRAPHS = YES |
2226 | + |
2227 | +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and |
2228 | +# collaboration diagrams in a style similar to the OMG's Unified Modeling |
2229 | +# Language. |
2230 | + |
2231 | +UML_LOOK = YES |
2232 | + |
2233 | +# If the UML_LOOK tag is enabled, the fields and methods are shown inside |
2234 | +# the class node. If there are many fields or methods and many nodes the |
2235 | +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS |
2236 | +# threshold limits the number of items for each type to make the size more |
2237 | +# managable. Set this to 0 for no limit. Note that the threshold may be |
2238 | +# exceeded by 50% before the limit is enforced. |
2239 | + |
2240 | +UML_LIMIT_NUM_FIELDS = 10 |
2241 | + |
2242 | +# If set to YES, the inheritance and collaboration graphs will show the |
2243 | +# relations between templates and their instances. |
2244 | + |
2245 | +TEMPLATE_RELATIONS = NO |
2246 | + |
2247 | +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT |
2248 | +# tags are set to YES then doxygen will generate a graph for each documented |
2249 | +# file showing the direct and indirect include dependencies of the file with |
2250 | +# other documented files. |
2251 | + |
2252 | +INCLUDE_GRAPH = YES |
2253 | + |
2254 | +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and |
2255 | +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each |
2256 | +# documented header file showing the documented files that directly or |
2257 | +# indirectly include this file. |
2258 | + |
2259 | +INCLUDED_BY_GRAPH = YES |
2260 | + |
2261 | +# If the CALL_GRAPH and HAVE_DOT options are set to YES then |
2262 | +# doxygen will generate a call dependency graph for every global function |
2263 | +# or class method. Note that enabling this option will significantly increase |
2264 | +# the time of a run. So in most cases it will be better to enable call graphs |
2265 | +# for selected functions only using the \callgraph command. |
2266 | + |
2267 | +CALL_GRAPH = YES |
2268 | + |
2269 | +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then |
2270 | +# doxygen will generate a caller dependency graph for every global function |
2271 | +# or class method. Note that enabling this option will significantly increase |
2272 | +# the time of a run. So in most cases it will be better to enable caller |
2273 | +# graphs for selected functions only using the \callergraph command. |
2274 | + |
2275 | +CALLER_GRAPH = NO |
2276 | + |
2277 | +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen |
2278 | +# will generate a graphical hierarchy of all classes instead of a textual one. |
2279 | + |
2280 | +GRAPHICAL_HIERARCHY = YES |
2281 | + |
2282 | +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES |
2283 | +# then doxygen will show the dependencies a directory has on other directories |
2284 | +# in a graphical way. The dependency relations are determined by the #include |
2285 | +# relations between the files in the directories. |
2286 | + |
2287 | +DIRECTORY_GRAPH = YES |
2288 | + |
2289 | +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images |
2290 | +# generated by dot. Possible values are svg, png, jpg, or gif. |
2291 | +# If left blank png will be used. If you choose svg you need to set |
2292 | +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files |
2293 | +# visible in IE 9+ (other browsers do not have this requirement). |
2294 | + |
2295 | +DOT_IMAGE_FORMAT = png |
2296 | + |
2297 | +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to |
2298 | +# enable generation of interactive SVG images that allow zooming and panning. |
2299 | +# Note that this requires a modern browser other than Internet Explorer. |
2300 | +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you |
2301 | +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files |
2302 | +# visible. Older versions of IE do not have SVG support. |
2303 | + |
2304 | +INTERACTIVE_SVG = YES |
2305 | + |
2306 | +# The tag DOT_PATH can be used to specify the path where the dot tool can be |
2307 | +# found. If left blank, it is assumed the dot tool can be found in the path. |
2308 | + |
2309 | +DOT_PATH = |
2310 | + |
2311 | +# The DOTFILE_DIRS tag can be used to specify one or more directories that |
2312 | +# contain dot files that are included in the documentation (see the |
2313 | +# \dotfile command). |
2314 | + |
2315 | +DOTFILE_DIRS = |
2316 | + |
2317 | +# The MSCFILE_DIRS tag can be used to specify one or more directories that |
2318 | +# contain msc files that are included in the documentation (see the |
2319 | +# \mscfile command). |
2320 | + |
2321 | +MSCFILE_DIRS = |
2322 | + |
2323 | +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of |
2324 | +# nodes that will be shown in the graph. If the number of nodes in a graph |
2325 | +# becomes larger than this value, doxygen will truncate the graph, which is |
2326 | +# visualized by representing a node as a red box. Note that doxygen if the |
2327 | +# number of direct children of the root node in a graph is already larger than |
2328 | +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note |
2329 | +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. |
2330 | + |
2331 | +DOT_GRAPH_MAX_NODES = 50 |
2332 | + |
2333 | +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the |
2334 | +# graphs generated by dot. A depth value of 3 means that only nodes reachable |
2335 | +# from the root by following a path via at most 3 edges will be shown. Nodes |
2336 | +# that lay further from the root node will be omitted. Note that setting this |
2337 | +# option to 1 or 2 may greatly reduce the computation time needed for large |
2338 | +# code bases. Also note that the size of a graph can be further restricted by |
2339 | +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. |
2340 | + |
2341 | +MAX_DOT_GRAPH_DEPTH = 0 |
2342 | + |
2343 | +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent |
2344 | +# background. This is disabled by default, because dot on Windows does not |
2345 | +# seem to support this out of the box. Warning: Depending on the platform used, |
2346 | +# enabling this option may lead to badly anti-aliased labels on the edges of |
2347 | +# a graph (i.e. they become hard to read). |
2348 | + |
2349 | +DOT_TRANSPARENT = YES |
2350 | + |
2351 | +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output |
2352 | +# files in one run (i.e. multiple -o and -T options on the command line). This |
2353 | +# makes dot run faster, but since only newer versions of dot (>1.8.10) |
2354 | +# support this, this feature is disabled by default. |
2355 | + |
2356 | +DOT_MULTI_TARGETS = YES |
2357 | + |
2358 | +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will |
2359 | +# generate a legend page explaining the meaning of the various boxes and |
2360 | +# arrows in the dot generated graphs. |
2361 | + |
2362 | +GENERATE_LEGEND = YES |
2363 | + |
2364 | +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will |
2365 | +# remove the intermediate dot files that are used to generate |
2366 | +# the various graphs. |
2367 | + |
2368 | +DOT_CLEANUP = YES |
2369 | |
2370 | === modified file 'include/CMakeLists.txt' |
2371 | --- include/CMakeLists.txt 2013-04-10 14:42:09 +0000 |
2372 | +++ include/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2373 | @@ -1,4 +1,1 @@ |
2374 | -configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/ubuntu/ui/config.h) |
2375 | -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ubuntu/ui/config.h DESTINATION include/ubuntu/ui) |
2376 | - |
2377 | -install(DIRECTORY ubuntu DESTINATION include) |
2378 | +add_subdirectory(ubuntu) |
2379 | |
2380 | === removed file 'include/config.h.in' |
2381 | --- include/config.h.in 2013-04-10 15:31:33 +0000 |
2382 | +++ include/config.h.in 1970-01-01 00:00:00 +0000 |
2383 | @@ -1,24 +0,0 @@ |
2384 | -/* |
2385 | - * Copyright © 2013 Canonical Ltd. |
2386 | - * |
2387 | - * This program is free software: you can redistribute it and/or modify |
2388 | - * it under the terms of the GNU Lesser General Public License version 3 as |
2389 | - * published by the Free Software Foundation. |
2390 | - * |
2391 | - * This program is distributed in the hope that it will be useful, |
2392 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2393 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2394 | - * GNU Lesser General Public License for more details. |
2395 | - * |
2396 | - * You should have received a copy of the GNU Lesser General Public License |
2397 | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
2398 | - * |
2399 | - * Authored by: Michael Terry <michael.terry@canonical.com> |
2400 | - */ |
2401 | - |
2402 | -#ifndef UBUNTU_UI_CONFIG_H_ |
2403 | -#define UBUNTU_UI_CONFIG_H_ |
2404 | - |
2405 | -#define UBUNTU_USE_GLES @USE_GLES@ |
2406 | - |
2407 | -#endif // UBUNTU_UI_CONFIG_H_ |
2408 | |
2409 | === added file 'include/ubuntu/CMakeLists.txt' |
2410 | --- include/ubuntu/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
2411 | +++ include/ubuntu/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2412 | @@ -0,0 +1,2 @@ |
2413 | +add_subdirectory(application) |
2414 | +add_subdirectory(ui) |
2415 | \ No newline at end of file |
2416 | |
2417 | === added file 'include/ubuntu/application/CMakeLists.txt' |
2418 | --- include/ubuntu/application/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
2419 | +++ include/ubuntu/application/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2420 | @@ -0,0 +1,19 @@ |
2421 | +set( |
2422 | + UBUNTU_APPLICATION_HEADERS |
2423 | + archive.h |
2424 | + description.h |
2425 | + id.h |
2426 | + instance.h |
2427 | + lifecycle_delegate.h |
2428 | + operation_mode.h |
2429 | + options.h |
2430 | + ubuntu_application_gps.h |
2431 | +) |
2432 | + |
2433 | +install( |
2434 | + FILES ${UBUNTU_APPLICATION_HEADERS} |
2435 | + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application |
2436 | +) |
2437 | + |
2438 | +add_subdirectory(sensors) |
2439 | +add_subdirectory(ui) |
2440 | \ No newline at end of file |
2441 | |
2442 | === added file 'include/ubuntu/application/sensors/CMakeLists.txt' |
2443 | --- include/ubuntu/application/sensors/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
2444 | +++ include/ubuntu/application/sensors/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2445 | @@ -0,0 +1,14 @@ |
2446 | +set( |
2447 | + UBUNTU_APPLICATION_SENSORS_HEADERS |
2448 | + accelerometer.h |
2449 | + light.h |
2450 | + proximity.h |
2451 | + ubuntu_application_sensors.h |
2452 | +) |
2453 | + |
2454 | +install( |
2455 | + FILES ${UBUNTU_APPLICATION_SENSORS_HEADERS} |
2456 | + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/sensors |
2457 | +) |
2458 | + |
2459 | +add_subdirectory(event) |
2460 | \ No newline at end of file |
2461 | |
2462 | === added file 'include/ubuntu/application/sensors/event/CMakeLists.txt' |
2463 | --- include/ubuntu/application/sensors/event/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
2464 | +++ include/ubuntu/application/sensors/event/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2465 | @@ -0,0 +1,11 @@ |
2466 | +set( |
2467 | + UBUNTU_APPLICATION_SENSORS_EVENT_HEADERS |
2468 | + accelerometer.h |
2469 | + light.h |
2470 | + proximity.h |
2471 | +) |
2472 | + |
2473 | +install( |
2474 | + FILES ${UBUNTU_APPLICATION_SENSORS_EVENT_HEADERS} |
2475 | + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/sensors/event |
2476 | +) |
2477 | \ No newline at end of file |
2478 | |
2479 | === added file 'include/ubuntu/application/ui/CMakeLists.txt' |
2480 | --- include/ubuntu/application/ui/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
2481 | +++ include/ubuntu/application/ui/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2482 | @@ -0,0 +1,25 @@ |
2483 | +configure_file( |
2484 | + config.h.in |
2485 | + ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY) |
2486 | + |
2487 | +set( |
2488 | + UBUNTU_APPLICATION_UI_HEADERS |
2489 | + ${CMAKE_CURRENT_BINARY_DIR}/config.h |
2490 | + clipboard.h |
2491 | + display.h |
2492 | + form_factor.h |
2493 | + options.h |
2494 | + session.h |
2495 | + stage.h |
2496 | + window.h |
2497 | + window_parent.h |
2498 | + window_properties.h |
2499 | + window_type.h |
2500 | +) |
2501 | + |
2502 | +install( |
2503 | + FILES ${UBUNTU_APPLICATION_UI_HEADERS} |
2504 | + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui |
2505 | +) |
2506 | + |
2507 | +add_subdirectory(input) |
2508 | \ No newline at end of file |
2509 | |
2510 | === added file 'include/ubuntu/application/ui/config.h.in' |
2511 | --- include/ubuntu/application/ui/config.h.in 1970-01-01 00:00:00 +0000 |
2512 | +++ include/ubuntu/application/ui/config.h.in 2013-06-14 14:53:26 +0000 |
2513 | @@ -0,0 +1,27 @@ |
2514 | +/* |
2515 | + * Copyright © 2013 Canonical Ltd. |
2516 | + * |
2517 | + * This program is free software: you can redistribute it and/or modify |
2518 | + * it under the terms of the GNU Lesser General Public License version 3 as |
2519 | + * published by the Free Software Foundation. |
2520 | + * |
2521 | + * This program is distributed in the hope that it will be useful, |
2522 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2523 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2524 | + * GNU Lesser General Public License for more details. |
2525 | + * |
2526 | + * You should have received a copy of the GNU Lesser General Public License |
2527 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
2528 | + * |
2529 | + * Authored by: Thomas Voß <thomas.voss@canonical.com> |
2530 | + */ |
2531 | + |
2532 | +#ifndef UBUNTU_APPLICATION_UI_CONFIG_H_ |
2533 | +#define UBUNTU_APPLICATION_UI_CONFIG_H_ |
2534 | +#ifndef __ANDROID__ |
2535 | +#define UBUNTU_PLATFORM_API_HAVE_GLES2 @UBUNTU_PLATFORM_API_HAVE_GLES2@ |
2536 | +#else |
2537 | +#define UBUNTU_PLATFORM_API_HAVE_GLES2 1 |
2538 | +#endif // __ANDROID__ |
2539 | + |
2540 | +#endif // UBUNTU_APPLICATION_UI_CONFIG_H_ |
2541 | |
2542 | === added file 'include/ubuntu/application/ui/input/CMakeLists.txt' |
2543 | --- include/ubuntu/application/ui/input/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
2544 | +++ include/ubuntu/application/ui/input/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
2545 | @@ -0,0 +1,9 @@ |
2546 | +set( |
2547 | + UBUNTU_APPLICATION_UI_INPUT_HEADERS |
2548 | + event.h |
2549 | +) |
2550 | + |
2551 | +install( |
2552 | + FILES ${UBUNTU_APPLICATION_UI_INPUT_HEADERS} |
2553 | + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/application/ui/input |
2554 | +) |
2555 | \ No newline at end of file |
2556 | |
2557 | === added directory 'include/ubuntu/hardware' |
2558 | === renamed file 'include/ubuntu/application/ubuntu_application_gps.h' => 'include/ubuntu/hardware/gps.h' |
2559 | --- include/ubuntu/application/ubuntu_application_gps.h 2013-05-27 21:49:05 +0000 |
2560 | +++ include/ubuntu/hardware/gps.h 2013-06-14 14:53:26 +0000 |
2561 | @@ -14,9 +14,10 @@ |
2562 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
2563 | * |
2564 | * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com> |
2565 | + * Authored by: Thomas Voß <thomas.voss@canonical.com> |
2566 | */ |
2567 | -#ifndef UBUNTU_APPLICATION_GPS_H_ |
2568 | -#define UBUNTU_APPLICATION_GPS_H_ |
2569 | +#ifndef UBUNTU_HARDWARE_GPS_H_ |
2570 | +#define UBUNTU_HARDWARE_GPS_H_ |
2571 | |
2572 | #include <stdint.h> |
2573 | #include <stddef.h> |
2574 | @@ -25,149 +26,170 @@ |
2575 | extern "C" { |
2576 | #endif |
2577 | |
2578 | -/** \defgroup gps_access Functions and types for accessing location services. */ |
2579 | +/** \defgroup gps_access Functions and types for accessing GPS H/W. */ |
2580 | + |
2581 | +/** |
2582 | + * Maximum number of SVs for u_hardware_gps_sv_status_callback(). |
2583 | + * \ingroup gps_access |
2584 | + */ |
2585 | +#define U_HARDWARE_GPS_MAX_SVS 32 |
2586 | |
2587 | /** |
2588 | - * Maximum number of SVs for gps_sv_status_callback(). |
2589 | + * The status of the GPS hardware. |
2590 | * \ingroup gps_access |
2591 | */ |
2592 | -#define UBUNTU_GPS_MAX_SVS 32 |
2593 | - |
2594 | enum |
2595 | { |
2596 | /** GPS status unknown. */ |
2597 | - UBUNTU_GPS_STATUS_NONE = 0, |
2598 | + U_HARDWARE_GPS_STATUS_NONE = 0, |
2599 | /** GPS has begun navigating. */ |
2600 | - UBUNTU_GPS_STATUS_SESSION_BEGIN = 1, |
2601 | + U_HARDWARE_GPS_STATUS_SESSION_BEGIN = 1, |
2602 | /** GPS has stopped navigating. */ |
2603 | - UBUNTU_GPS_STATUS_SESSION_END = 2, |
2604 | + U_HARDWARE_GPS_STATUS_SESSION_END = 2, |
2605 | /** GPS has powered on but is not navigating. */ |
2606 | - UBUNTU_GPS_STATUS_ENGINE_ON = 3, |
2607 | + U_HARDWARE_GPS_STATUS_ENGINE_ON = 3, |
2608 | /** GPS is powered off. */ |
2609 | - UBUNTU_GPS_STATUS_ENGINE_OFF = 4 |
2610 | + U_HARDWARE_GPS_STATUS_ENGINE_OFF = 4 |
2611 | }; |
2612 | |
2613 | -/** |
2614 | +/** |
2615 | * Flags for the gps_set_capabilities callback. |
2616 | * \ingroup gps_access |
2617 | - * GPS HAL schedules fixes for UBUNTU_GPS_POSITION_RECURRENCE_PERIODIC mode. |
2618 | + * GPS HAL schedules fixes for U_HARDWARE_GPS_POSITION_RECURRENCE_PERIODIC mode. |
2619 | * If this is not set, then the framework will use 1000ms for min_interval |
2620 | * and will start and call start() and stop() to schedule the GPS. |
2621 | */ |
2622 | -#define UBUNTU_GPS_CAPABILITY_SCHEDULING 0x0000001 |
2623 | +#define U_HARDWARE_GPS_CAPABILITY_SCHEDULING 0x0000001 |
2624 | /** GPS supports MS-Based AGPS mode */ |
2625 | -#define UBUNTU_GPS_CAPABILITY_MSB 0x0000002 |
2626 | +#define U_HARDWARE_GPS_CAPABILITY_MSB 0x0000002 |
2627 | /** GPS supports MS-Assisted AGPS mode */ |
2628 | -#define UBUNTU_GPS_CAPABILITY_MSA 0x0000004 |
2629 | +#define U_HARDWARE_GPS_CAPABILITY_MSA 0x0000004 |
2630 | /** GPS supports single-shot fixes */ |
2631 | -#define UBUNTU_GPS_CAPABILITY_SINGLE_SHOT 0x0000008 |
2632 | +#define U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT 0x0000008 |
2633 | /** GPS supports on demand time injection */ |
2634 | -#define UBUNTU_GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010 |
2635 | +#define U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010 |
2636 | |
2637 | /** |
2638 | - * UbuntuGpsNiNotifyFlags constants |
2639 | + * UHardwareGpsNiNotifyFlags constants |
2640 | * \ingroup gps_access |
2641 | */ |
2642 | -typedef uint32_t UbuntuGpsNiNotifyFlags; |
2643 | +typedef uint32_t UHardwareGpsNiNotifyFlags; |
2644 | /** NI requires notification */ |
2645 | -#define UBUNTU_GPS_NI_NEED_NOTIFY 0x0001 |
2646 | +#define U_HARDWARE_GPS_NI_NEED_NOTIFY 0x0001 |
2647 | /** NI requires verification */ |
2648 | -#define UBUNTU_GPS_NI_NEED_VERIFY 0x0002 |
2649 | +#define U_HARDWARE_GPS_NI_NEED_VERIFY 0x0002 |
2650 | /** NI requires privacy override, no notification/minimal trace */ |
2651 | -#define UBUNTU_GPS_NI_PRIVACY_OVERRIDE 0x0004 |
2652 | +#define U_HARDWARE_GPS_NI_PRIVACY_OVERRIDE 0x0004 |
2653 | |
2654 | /** |
2655 | * GPS NI responses, used to define the response in |
2656 | * NI structures |
2657 | * \ingroup gps_access |
2658 | */ |
2659 | -typedef int UbuntuGpsUserResponseType; |
2660 | +typedef int UHardwareGpsUserResponseType; |
2661 | + |
2662 | enum |
2663 | { |
2664 | - UBUNTU_UBUNTU_GPS_NI_RESPONSE_ACCEPT = 1, |
2665 | - UBUNTU_UBUNTU_GPS_NI_RESPONSE_DENY = 2, |
2666 | - UBUNTU_UBUNTU_GPS_NI_RESPONSE_NORESP = 3 |
2667 | + U_HARDWARE_GPS_NI_RESPONSE_ACCEPT = 1, |
2668 | + U_HARDWARE_GPS_NI_RESPONSE_DENY = 2, |
2669 | + U_HARDWARE_GPS_NI_RESPONSE_NORESP = 3 |
2670 | }; |
2671 | |
2672 | enum |
2673 | { |
2674 | - UBUNTU_GPS_NI_TYPE_VOICE = 1, |
2675 | - UBUNTU_GPS_NI_TYPE_UMTS_SUPL = 2, |
2676 | - UBUNTU_GPS_NI_TYPE_UMTS_CTRL_PLANE = 3 |
2677 | + U_HARDWARE_GPS_NI_TYPE_VOICE = 1, |
2678 | + U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL = 2, |
2679 | + U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE = 3 |
2680 | }; |
2681 | |
2682 | /** |
2683 | * String length constants |
2684 | * \ingroup gps_access |
2685 | */ |
2686 | -#define UBUNTU_GPS_NI_SHORT_STRING_MAXLEN 256 |
2687 | -#define UBUNTU_GPS_NI_LONG_STRING_MAXLEN 2048 |
2688 | +#define U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN 256 |
2689 | +#define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN 2048 |
2690 | |
2691 | /** |
2692 | * NI data encoding scheme |
2693 | * \ingroup gps_access |
2694 | */ |
2695 | -typedef int UbuntuGpsNiEncodingType; |
2696 | -enum |
2697 | -{ |
2698 | - UBUNTU_GPS_ENC_NONE = 0, |
2699 | - UBUNTU_GPS_ENC_SUPL_GSM_DEFAULT = 1, |
2700 | - UBUNTU_GPS_ENC_SUPL_UTF8 = 2, |
2701 | - UBUNTU_GPS_ENC_SUPL_UCS2 = 3, |
2702 | - UBUNTU_GPS_ENC_UNKNOWN = -1 |
2703 | -}; |
2704 | - |
2705 | -enum |
2706 | -{ |
2707 | - UBUNTU_AGPS_TYPE_SUPL = 1, |
2708 | - UBUNTU_AGPS_TYPE_C2K = 2 |
2709 | -}; |
2710 | - |
2711 | - |
2712 | +typedef int UHardwareGpsNiEncodingType; |
2713 | + |
2714 | +/** |
2715 | + * Known encoding types for Ni responses |
2716 | + * \ingroup gps_access |
2717 | + */ |
2718 | +enum |
2719 | +{ |
2720 | + U_HARDWARE_GPS_ENC_NONE = 0, |
2721 | + U_HARDWARE_GPS_ENC_SUPL_GSM_DEFAULT = 1, |
2722 | + U_HARDWARE_GPS_ENC_SUPL_UTF8 = 2, |
2723 | + U_HARDWARE_GPS_ENC_SUPL_UCS2 = 3, |
2724 | + U_HARDWARE_GPS_ENC_UNKNOWN = -1 |
2725 | +}; |
2726 | + |
2727 | +/** |
2728 | + * Known AGPS types |
2729 | + * \ingroup gps_access |
2730 | + */ |
2731 | +enum |
2732 | +{ |
2733 | + U_HARDWARE_GPS_AGPS_TYPE_SUPL = 1, |
2734 | + U_HARDWARE_GPS_AGPS_TYPE_C2K = 2 |
2735 | +}; |
2736 | + |
2737 | +/** |
2738 | + * Known positioning modes |
2739 | + * \ingroup gps_access |
2740 | + */ |
2741 | enum |
2742 | { |
2743 | /** Mode for running GPS standalone (no assistance). */ |
2744 | - UBUNTU_GPS_POSITION_MODE_STANDALONE = 0, |
2745 | + U_HARDWARE_GPS_POSITION_MODE_STANDALONE = 0, |
2746 | /** AGPS MS-Based mode. */ |
2747 | - UBUNTU_GPS_POSITION_MODE_MS_BASED = 1, |
2748 | + U_HARDWARE_GPS_POSITION_MODE_MS_BASED = 1, |
2749 | /** AGPS MS-Assisted mode. */ |
2750 | - UBUNTU_GPS_POSITION_MODE_MS_ASSISTED = 2 |
2751 | + U_HARDWARE_GPS_POSITION_MODE_MS_ASSISTED = 2 |
2752 | }; |
2753 | |
2754 | +/** |
2755 | + * Known positioning modes |
2756 | + * \ingroup gps_access |
2757 | + */ |
2758 | enum |
2759 | { |
2760 | /** Receive GPS fixes on a recurring basis at a specified period. */ |
2761 | - UBUNTU_GPS_POSITION_RECURRENCE_PERIODIC = 0, |
2762 | + U_HARDWARE_GPS_POSITION_RECURRENCE_PERIODIC = 0, |
2763 | /** Request a single shot GPS fix. */ |
2764 | - UBUNTU_GPS_POSITION_RECURRENCE_SINGLE = 1 |
2765 | + U_HARDWARE_GPS_POSITION_RECURRENCE_SINGLE = 1 |
2766 | }; |
2767 | |
2768 | enum |
2769 | { |
2770 | /** GPS requests data connection for AGPS. */ |
2771 | - UBUNTU_GPS_REQUEST_AGPS_DATA_CONN = 1, |
2772 | + U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN = 1, |
2773 | /** GPS releases the AGPS data connection. */ |
2774 | - UBUNTU_GPS_RELEASE_AGPS_DATA_CONN = 2, |
2775 | + U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN = 2, |
2776 | /** AGPS data connection initiated */ |
2777 | - UBUNTU_GPS_AGPS_DATA_CONNECTED = 3, |
2778 | + U_HARDWARE_GPS_AGPS_DATA_CONNECTED = 3, |
2779 | /** AGPS data connection completed */ |
2780 | - UBUNTU_GPS_AGPS_DATA_CONN_DONE = 4, |
2781 | + U_HARDWARE_GPS_AGPS_DATA_CONN_DONE = 4, |
2782 | /** AGPS data connection failed */ |
2783 | - UBUNTU_GPS_AGPS_DATA_CONN_FAILED = 5 |
2784 | + U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED = 5 |
2785 | }; |
2786 | |
2787 | -/** UbuntuGpsLocation has valid latitude and longitude. */ |
2788 | -#define UBUNTU_GPS_LOCATION_HAS_LAT_LONG 0x0001 |
2789 | -/** UbuntuGpsLocation has valid altitude. */ |
2790 | -#define UBUNTU_GPS_LOCATION_HAS_ALTITUDE 0x0002 |
2791 | -/** UbuntuGpsLocation has valid speed. */ |
2792 | -#define UBUNTU_GPS_LOCATION_HAS_SPEED 0x0004 |
2793 | -/** UbuntuGpsLocation has valid bearing. */ |
2794 | -#define UBUNTU_GPS_LOCATION_HAS_BEARING 0x0008 |
2795 | -/** UbuntuGpsLocation has valid accuracy. */ |
2796 | -#define UBUNTU_GPS_LOCATION_HAS_ACCURACY 0x0010 |
2797 | +/** UHardwareGpsLocation has valid latitude and longitude. */ |
2798 | +#define U_HARDWARE_GPS_LOCATION_HAS_LAT_LONG 0x0001 |
2799 | +/** UHardwareGpsLocation has valid altitude. */ |
2800 | +#define U_HARDWARE_GPS_LOCATION_HAS_ALTITUDE 0x0002 |
2801 | +/** UHardwareGpsLocation has valid speed. */ |
2802 | +#define U_HARDWARE_GPS_LOCATION_HAS_SPEED 0x0004 |
2803 | +/** UHardwareGpsLocation has valid bearing. */ |
2804 | +#define U_HARDWARE_GPS_LOCATION_HAS_BEARING 0x0008 |
2805 | +/** UHardwareGpsLocation has valid accuracy. */ |
2806 | +#define U_HARDWARE_GPS_LOCATION_HAS_ACCURACY 0x0010 |
2807 | |
2808 | -typedef struct UbuntuGps_* UbuntuGps; |
2809 | +typedef struct UHardwareGps_* UHardwareGps; |
2810 | |
2811 | /** |
2812 | * Models a location as reported by the GPS HAL. |
2813 | @@ -175,234 +197,264 @@ |
2814 | */ |
2815 | typedef struct |
2816 | { |
2817 | - /** set to sizeof(UbuntuGpsLocation) */ |
2818 | - size_t size; |
2819 | - /** Contains UBUNTU_GPS_LOCATION_* flags bits. */ |
2820 | - uint16_t flags; |
2821 | + /** set to sizeof(UHardwareGpsLocation) */ |
2822 | + size_t size; |
2823 | + /** Contains U_HARDWARE_GPS_LOCATION_* flags bits. */ |
2824 | + uint16_t flags; |
2825 | /** Represents latitude in degrees. */ |
2826 | - double latitude; |
2827 | + double latitude; |
2828 | /** Represents longitude in degrees. */ |
2829 | - double longitude; |
2830 | + double longitude; |
2831 | /** Represents altitude in meters above the WGS 84 reference |
2832 | * ellipsoid. */ |
2833 | - double altitude; |
2834 | + double altitude; |
2835 | /** Represents speed in meters per second. */ |
2836 | - float speed; |
2837 | + float speed; |
2838 | /** Represents heading in degrees. */ |
2839 | - float bearing; |
2840 | + float bearing; |
2841 | /** Represents expected accuracy in meters. */ |
2842 | - float accuracy; |
2843 | + float accuracy; |
2844 | /** Timestamp for the location fix, in milliseconds since January 1, 1970 */ |
2845 | - int64_t timestamp; |
2846 | -} UbuntuGpsLocation; |
2847 | + int64_t timestamp; |
2848 | +} UHardwareGpsLocation; |
2849 | |
2850 | -/** |
2851 | - * Represents space vehicle (satellite) information. |
2852 | +/** |
2853 | + * Represents space vehicle (satellite) information. |
2854 | * \ingroup gps_access |
2855 | */ |
2856 | typedef struct { |
2857 | - /** set to sizeof(UbuntuGpsSvInfo) */ |
2858 | - size_t size; |
2859 | + /** set to sizeof(UHardwareGpsSvInfo) */ |
2860 | + size_t size; |
2861 | /** Pseudo-random number for the SV. */ |
2862 | - int prn; |
2863 | + int prn; |
2864 | /** Signal to noise ratio. */ |
2865 | - float snr; |
2866 | + float snr; |
2867 | /** Elevation of SV in degrees. */ |
2868 | - float elevation; |
2869 | + float elevation; |
2870 | /** Azimuth of SV in degrees. */ |
2871 | - float azimuth; |
2872 | -} UbuntuGpsSvInfo; |
2873 | + float azimuth; |
2874 | +} UHardwareGpsSvInfo; |
2875 | |
2876 | -/** |
2877 | - * Represents SV (Space Vehicle) status. |
2878 | +/** |
2879 | + * Represents SV (Space Vehicle) status. |
2880 | * \ingroup gps_access |
2881 | */ |
2882 | typedef struct { |
2883 | /** set to sizeof(GpsSvStatus) */ |
2884 | - size_t size; |
2885 | + size_t size; |
2886 | |
2887 | /** Number of SVs currently visible. */ |
2888 | - int num_svs; |
2889 | + int num_svs; |
2890 | |
2891 | /** Contains an array of SV information. */ |
2892 | - UbuntuGpsSvInfo sv_list[UBUNTU_GPS_MAX_SVS]; |
2893 | + UHardwareGpsSvInfo sv_list[U_HARDWARE_GPS_MAX_SVS]; |
2894 | |
2895 | /** Represents a bit mask indicating which SVs |
2896 | * have ephemeris data. |
2897 | */ |
2898 | - uint32_t ephemeris_mask; |
2899 | + uint32_t ephemeris_mask; |
2900 | |
2901 | /** Represents a bit mask indicating which SVs |
2902 | * have almanac data. |
2903 | */ |
2904 | - uint32_t almanac_mask; |
2905 | + uint32_t almanac_mask; |
2906 | |
2907 | /** |
2908 | * Represents a bit mask indicating which SVs |
2909 | * were used for computing the most recent position fix. |
2910 | */ |
2911 | - uint32_t used_in_fix_mask; |
2912 | -} UbuntuGpsSvStatus; |
2913 | + uint32_t used_in_fix_mask; |
2914 | +} UHardwareGpsSvStatus; |
2915 | |
2916 | -/** |
2917 | - * Represents the status of AGPS. |
2918 | +/** |
2919 | + * Represents the status of AGPS. |
2920 | * \ingroup gps_access |
2921 | */ |
2922 | typedef struct { |
2923 | - /** set to sizeof(UbuntuAgpsStatus) */ |
2924 | + /** set to sizeof(UHardwareGpsAGpsStatus) */ |
2925 | size_t size; |
2926 | |
2927 | uint16_t type; |
2928 | uint16_t status; |
2929 | uint32_t ipaddr; |
2930 | -} UbuntuAgpsStatus; |
2931 | +} UHardwareGpsAGpsStatus; |
2932 | |
2933 | -/** |
2934 | - * Represents an NI request |
2935 | +/** |
2936 | + * Represents an NI request |
2937 | * \ingroup gps_access |
2938 | */ |
2939 | typedef struct { |
2940 | - /** set to sizeof(UbuntuGpsNiNotification) */ |
2941 | - size_t size; |
2942 | + /** set to sizeof(UHardwareGpsNiNotification) */ |
2943 | + size_t size; |
2944 | |
2945 | /** |
2946 | * An ID generated by HAL to associate NI notifications and UI |
2947 | * responses |
2948 | */ |
2949 | - int notification_id; |
2950 | + int notification_id; |
2951 | |
2952 | /** |
2953 | * An NI type used to distinguish different categories of NI |
2954 | - * events, such as UBUNTU_GPS_NI_TYPE_VOICE, UBUNTU_GPS_NI_TYPE_UMTS_SUPL, ... |
2955 | + * events, such as U_HARDWARE_GPS_NI_TYPE_VOICE, U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL, ... |
2956 | */ |
2957 | - uint32_t ni_type; |
2958 | + uint32_t ni_type; |
2959 | |
2960 | /** |
2961 | - * Notification/verification options, combinations of UbuntuGpsNiNotifyFlags constants |
2962 | + * Notification/verification options, combinations of UHardwareGpsNiNotifyFlags constants |
2963 | */ |
2964 | - UbuntuGpsNiNotifyFlags notify_flags; |
2965 | + UHardwareGpsNiNotifyFlags notify_flags; |
2966 | |
2967 | /** |
2968 | * Timeout period to wait for user response. |
2969 | * Set to 0 for no time out limit. |
2970 | */ |
2971 | - int timeout; |
2972 | + int timeout; |
2973 | |
2974 | /** |
2975 | * Default response when time out. |
2976 | */ |
2977 | - UbuntuGpsUserResponseType default_response; |
2978 | + UHardwareGpsUserResponseType default_response; |
2979 | |
2980 | /** |
2981 | * Requestor ID |
2982 | */ |
2983 | - char requestor_id[UBUNTU_GPS_NI_SHORT_STRING_MAXLEN]; |
2984 | + char requestor_id[U_HARDWARE_GPS_NI_SHORT_STRING_MAXLEN]; |
2985 | |
2986 | /** |
2987 | * Notification message. It can also be used to store client_id in some cases |
2988 | */ |
2989 | - char text[UBUNTU_GPS_NI_LONG_STRING_MAXLEN]; |
2990 | - |
2991 | - /** |
2992 | - * Client name decoding scheme |
2993 | - */ |
2994 | - UbuntuGpsNiEncodingType requestor_id_encoding; |
2995 | - |
2996 | - /** |
2997 | - * Client name decoding scheme |
2998 | - */ |
2999 | - UbuntuGpsNiEncodingType text_encoding; |
3000 | + char text[U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN]; |
3001 | + |
3002 | + /** |
3003 | + * Client name decoding scheme |
3004 | + */ |
3005 | + UHardwareGpsNiEncodingType requestor_id_encoding; |
3006 | + |
3007 | + /** |
3008 | + * Client name decoding scheme |
3009 | + */ |
3010 | + UHardwareGpsNiEncodingType text_encoding; |
3011 | |
3012 | /** |
3013 | * A pointer to extra data. Format: |
3014 | * key_1 = value_1 |
3015 | * key_2 = value_2 |
3016 | */ |
3017 | - char extras[UBUNTU_GPS_NI_LONG_STRING_MAXLEN]; |
3018 | - |
3019 | -} UbuntuGpsNiNotification; |
3020 | - |
3021 | -typedef void (* UbuntuGpsLocationCallback)(UbuntuGpsLocation* location, void* context); |
3022 | -typedef void (* UbuntuGpsStatusCallback)(uint16_t status, void* context); |
3023 | -typedef void (* UbuntuGpsSvStatusCallback)(UbuntuGpsSvStatus* sv_info, void* context); |
3024 | -typedef void (* UbuntuGpsNmeaCallback)(int64_t timestamp, const char* nmea, int length, void* context); |
3025 | -typedef void (* UbuntuGpsSetCapabilities)(uint32_t capabilities, void* context); |
3026 | -typedef void (* UbuntuGpsRequestUtcTime)(void* context); |
3027 | + char extras[U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN]; |
3028 | + |
3029 | +} UHardwareGpsNiNotification; |
3030 | + |
3031 | +typedef void (*UHardwareGpsLocationCallback)(UHardwareGpsLocation *location, void *context); |
3032 | +typedef void (*UHardwareGpsStatusCallback)(uint16_t status, void *context); |
3033 | +typedef void (*UHardwareGpsSvStatusCallback)(UHardwareGpsSvStatus *sv_info, void *context); |
3034 | +typedef void (*UHardwareGpsNmeaCallback)(int64_t timestamp, const char *nmea, int length, void *context); |
3035 | +typedef void (*UHardwareGpsSetCapabilities)(uint32_t capabilities, void *context); |
3036 | +typedef void (*UHardwareGpsRequestUtcTime)(void *context); |
3037 | |
3038 | /** Callback to request the client to download XTRA data. |
3039 | * The client should download XTRA data and inject it by calling inject_xtra_data(). |
3040 | */ |
3041 | -typedef void (* UbuntuGpsXtraDownloadRequest)(void* context); |
3042 | +typedef void (*UHardwareGpsXtraDownloadRequest)(void *context); |
3043 | |
3044 | /** Callback with AGPS status information. |
3045 | */ |
3046 | -typedef void (* UbuntuAgpsStatusCallback)(UbuntuAgpsStatus* status, void* context); |
3047 | +typedef void (*UHardwareGpsAGpsStatusCallback)(UHardwareGpsAGpsStatus *status, void *context); |
3048 | |
3049 | /** Callback with NI notification. |
3050 | */ |
3051 | -typedef void (*UbuntuGpsNiNotifyCallback)(UbuntuGpsNiNotification *notification, void* context); |
3052 | +typedef void (*UHardwareGpsNiNotifyCallback)(UHardwareGpsNiNotification *notification, void *context); |
3053 | |
3054 | /* |
3055 | Callback for AGPS RIL (Radio Interface Library) set id |
3056 | */ |
3057 | -typedef void (*UbuntuAgpsRilRequestSetId)(uint32_t flags, void* context); |
3058 | -typedef void (*UbuntuAgpsRilRequestRefLoc)(uint32_t flags, void* context); |
3059 | +typedef void (*UHardwareGpsAGpsRilRequestSetId)(uint32_t flags, void *context); |
3060 | +typedef void (*UHardwareGpsAGpsRilRequestRefLoc)(uint32_t flags, void *context); |
3061 | |
3062 | typedef struct |
3063 | { |
3064 | |
3065 | - UbuntuGpsLocationCallback location_cb; |
3066 | - UbuntuGpsStatusCallback status_cb; |
3067 | - UbuntuGpsSvStatusCallback sv_status_cb; |
3068 | - UbuntuGpsNmeaCallback nmea_cb; |
3069 | - UbuntuGpsSetCapabilities set_capabilities_cb; |
3070 | - UbuntuGpsRequestUtcTime request_utc_time_cb; |
3071 | - |
3072 | - UbuntuGpsXtraDownloadRequest xtra_download_request_cb; |
3073 | - |
3074 | - UbuntuAgpsStatusCallback agps_status_cb; |
3075 | - |
3076 | - UbuntuGpsNiNotifyCallback gps_ni_notify_cb; |
3077 | - |
3078 | - UbuntuAgpsRilRequestSetId request_setid_cb; |
3079 | - UbuntuAgpsRilRequestRefLoc request_refloc_cb; |
3080 | + UHardwareGpsLocationCallback location_cb; |
3081 | + UHardwareGpsStatusCallback status_cb; |
3082 | + UHardwareGpsSvStatusCallback sv_status_cb; |
3083 | + UHardwareGpsNmeaCallback nmea_cb; |
3084 | + UHardwareGpsSetCapabilities set_capabilities_cb; |
3085 | + UHardwareGpsRequestUtcTime request_utc_time_cb; |
3086 | + |
3087 | + UHardwareGpsXtraDownloadRequest xtra_download_request_cb; |
3088 | + |
3089 | + UHardwareGpsAGpsStatusCallback agps_status_cb; |
3090 | + |
3091 | + UHardwareGpsNiNotifyCallback gps_ni_notify_cb; |
3092 | + |
3093 | + UHardwareGpsAGpsRilRequestSetId request_setid_cb; |
3094 | + UHardwareGpsAGpsRilRequestRefLoc request_refloc_cb; |
3095 | |
3096 | void* context; |
3097 | -} UbuntuGpsParams; |
3098 | +} UHardwareGpsParams; |
3099 | |
3100 | /* |
3101 | You must create only one instance per process/application. |
3102 | */ |
3103 | -UbuntuGps ubuntu_gps_new(UbuntuGpsParams* params); |
3104 | -void ubuntu_gps_delete(UbuntuGps handle); |
3105 | - |
3106 | -bool ubuntu_gps_start(UbuntuGps self); |
3107 | -bool ubuntu_gps_stop(UbuntuGps self); |
3108 | +UHardwareGps |
3109 | +u_hardware_gps_new(UHardwareGpsParams *params); |
3110 | + |
3111 | +void |
3112 | +u_hardware_gps_delete(UHardwareGps handle); |
3113 | + |
3114 | +bool |
3115 | +u_hardware_gps_start(UHardwareGps self); |
3116 | + |
3117 | +bool |
3118 | +u_hardware_gps_stop(UHardwareGps self); |
3119 | |
3120 | /* |
3121 | \param time NTP time, in milliseconds since Jan 1st 1970. |
3122 | \param time_reference time from the internal clock at the moment that NTP time was taken. |
3123 | \param uncertainty possible deviation in the time supplied (uncertainty) in milliseconds. |
3124 | */ |
3125 | -void ubuntu_gps_inject_time(UbuntuGps self, int64_t time, int64_t time_reference, int uncertainty); |
3126 | - |
3127 | -void ubuntu_gps_inject_location(UbuntuGps self, double latitude, double longitude, float accuracy); |
3128 | -void ubuntu_gps_delete_aiding_data(UbuntuGps self, uint16_t flags); |
3129 | +void |
3130 | +u_hardware_gps_inject_time( |
3131 | + UHardwareGps self, |
3132 | + int64_t time, |
3133 | + int64_t time_reference, |
3134 | + int uncertainty); |
3135 | + |
3136 | +void |
3137 | +u_hardware_gps_inject_location( |
3138 | + UHardwareGps self, |
3139 | + double latitude, |
3140 | + double longitude, |
3141 | + float accuracy); |
3142 | + |
3143 | +void |
3144 | +u_hardware_gps_delete_aiding_data( |
3145 | + UHardwareGps self, |
3146 | + uint16_t flags); |
3147 | |
3148 | /* |
3149 | - \param mode One of the UBUNTU_GPS_POSITION_MODE_* values |
3150 | - \param recurrence One of the UBUNTU_GPS_POSITION_RECURRENCE_* values |
3151 | + \param mode One of the U_HARDWARE_GPS_POSITION_MODE_* values |
3152 | + \param recurrence One of the U_HARDWARE_GPS_POSITION_RECURRENCE_* values |
3153 | \param min_interval represents the time between fixes in milliseconds. |
3154 | \param preferred_accuracy The requested fix accuracy in meters. Can be zero. |
3155 | \param preferred_time The requested time to first fix in milliseconds. Can be zero. |
3156 | */ |
3157 | -bool ubuntu_gps_set_position_mode(UbuntuGps self, uint32_t mode, uint32_t recurrence, |
3158 | - uint32_t min_interval, uint32_t preferred_accuracy, |
3159 | - uint32_t preferred_time); |
3160 | -void ubuntu_gps_inject_xtra_data(UbuntuGps self, char* data, int length); |
3161 | +bool |
3162 | +u_hardware_gps_set_position_mode( |
3163 | + UHardwareGps self, |
3164 | + uint32_t mode, |
3165 | + uint32_t recurrence, |
3166 | + uint32_t min_interval, |
3167 | + uint32_t preferred_accuracy, |
3168 | + uint32_t preferred_time); |
3169 | + |
3170 | +void |
3171 | +u_hardware_gps_inject_xtra_data( |
3172 | + UHardwareGps self, |
3173 | + char* data, |
3174 | + int length); |
3175 | |
3176 | #ifdef __cplusplus |
3177 | } |
3178 | #endif |
3179 | |
3180 | -#endif // UBUNTU_APPLICATION_GPS_H_ |
3181 | +#endif // UBUNTU_HARDWARE_GPS_H_ |
3182 | |
3183 | === added file 'include/ubuntu/ui/CMakeLists.txt' |
3184 | --- include/ubuntu/ui/CMakeLists.txt 1970-01-01 00:00:00 +0000 |
3185 | +++ include/ubuntu/ui/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
3186 | @@ -0,0 +1,4 @@ |
3187 | +install( |
3188 | + FILES ubuntu_ui_session_service.h |
3189 | + DESTINATION include/ubuntu-${UBUNTU_PLATFORM_API_VERSION_MAJOR}/ui |
3190 | +) |
3191 | \ No newline at end of file |
3192 | |
3193 | === modified file 'include/ubuntu/ui/ubuntu_ui_session_service.h' |
3194 | --- include/ubuntu/ui/ubuntu_ui_session_service.h 2013-06-07 01:08:41 +0000 |
3195 | +++ include/ubuntu/ui/ubuntu_ui_session_service.h 2013-06-14 14:53:26 +0000 |
3196 | @@ -19,14 +19,7 @@ |
3197 | #ifndef UBUNTU_UI_SESSION_SERVICE_C_API_H_ |
3198 | #define UBUNTU_UI_SESSION_SERVICE_C_API_H_ |
3199 | |
3200 | -#include "ubuntu/ui/config.h" |
3201 | - |
3202 | -#if UBUNTU_USE_GLES |
3203 | -#include <GLES2/gl2.h> |
3204 | -#else |
3205 | -#include <GL/gl.h> |
3206 | -#include <GL/glext.h> |
3207 | -#endif |
3208 | +#include <stdint.h> |
3209 | |
3210 | #ifdef __cplusplus |
3211 | extern "C" { |
3212 | @@ -106,14 +99,6 @@ |
3213 | ubuntu_ui_session_install_session_lifecycle_observer( |
3214 | ubuntu_ui_session_lifecycle_observer* observer); |
3215 | |
3216 | - int /* boolean */ |
3217 | - ubuntu_ui_session_preview_provider_update_session_preview_texture_with_id( |
3218 | - ubuntu_ui_session_preview_provider pp, |
3219 | - int id, |
3220 | - GLuint texture, |
3221 | - unsigned int* width, |
3222 | - unsigned int* height); |
3223 | - |
3224 | void |
3225 | ubuntu_ui_session_unfocus_running_sessions(); |
3226 | |
3227 | |
3228 | === modified file 'src/android/CMakeLists.txt' |
3229 | --- src/android/CMakeLists.txt 2013-04-10 14:42:09 +0000 |
3230 | +++ src/android/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
3231 | @@ -1,28 +1,51 @@ |
3232 | -set(SOURCES ubuntu_application_api.cpp) |
3233 | - |
3234 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x") |
3235 | |
3236 | add_library( |
3237 | - ubuntu_application_api SHARED |
3238 | - ${SOURCES} |
3239 | + ubuntu_application_api SHARED |
3240 | + ubuntu_application_api.cpp |
3241 | +) |
3242 | + |
3243 | +add_library( |
3244 | + ubuntu_platform_hardware_api SHARED |
3245 | + ubuntu_platform_hardware_api.cpp |
3246 | ) |
3247 | |
3248 | include_directories( |
3249 | - ${CMAKE_BINARY_DIR}/include |
3250 | -) |
3251 | - |
3252 | -target_link_libraries( |
3253 | - ubuntu_application_api |
3254 | - hybris_ics |
3255 | -) |
3256 | - |
3257 | -set_target_properties( |
3258 | - ubuntu_application_api |
3259 | - PROPERTIES |
3260 | - VERSION 1.0 |
3261 | - SOVERSION 1 |
3262 | -) |
3263 | - |
3264 | -install(TARGETS ubuntu_application_api ${INSTALL_TARGETS_DEFAULT_ARGS}) |
3265 | + ${CMAKE_BINARY_DIR}/include |
3266 | +) |
3267 | + |
3268 | +target_link_libraries( |
3269 | + ubuntu_application_api |
3270 | + hybris_ics |
3271 | +) |
3272 | + |
3273 | +target_link_libraries( |
3274 | + ubuntu_platform_hardware_api |
3275 | + hybris_ics |
3276 | +) |
3277 | + |
3278 | +set_target_properties( |
3279 | + ubuntu_application_api |
3280 | + PROPERTIES |
3281 | + VERSION ${UBUNTU_PLATFORM_API_VERSION_MAJOR}.${UBUNTU_PLATFORM_API_VERSION_MINOR}.${UBUNTU_PLATFORM_API_VERSION_PATCH} |
3282 | + SOVERSION ${UBUNTU_PLATFORM_API_VERSION_MAJOR} |
3283 | +) |
3284 | + |
3285 | +set_target_properties( |
3286 | + ubuntu_platform_hardware_api |
3287 | + PROPERTIES |
3288 | + VERSION ${UBUNTU_PLATFORM_API_VERSION_MAJOR}.${UBUNTU_PLATFORM_API_VERSION_MINOR}.${UBUNTU_PLATFORM_API_VERSION_PATCH} |
3289 | + SOVERSION ${UBUNTU_PLATFORM_API_VERSION_MAJOR} |
3290 | +) |
3291 | + |
3292 | +install( |
3293 | + TARGETS ubuntu_application_api |
3294 | + ${INSTALL_TARGETS_DEFAULT_ARGS} |
3295 | +) |
3296 | + |
3297 | +install( |
3298 | + TARGETS ubuntu_platform_hardware_api |
3299 | + ${INSTALL_TARGETS_DEFAULT_ARGS} |
3300 | +) |
3301 | |
3302 | add_subdirectory(tests/) |
3303 | |
3304 | === added file 'src/android/bridge.h' |
3305 | --- src/android/bridge.h 1970-01-01 00:00:00 +0000 |
3306 | +++ src/android/bridge.h 2013-06-14 14:53:26 +0000 |
3307 | @@ -0,0 +1,182 @@ |
3308 | +#ifndef BRIDGE_H_ |
3309 | +#define BRIDGE_H_ |
3310 | + |
3311 | +#include <assert.h> |
3312 | +#include <dlfcn.h> |
3313 | +#include <stddef.h> |
3314 | + |
3315 | +#ifdef __cplusplus |
3316 | +extern "C" { |
3317 | +#endif |
3318 | + |
3319 | +extern void *android_dlopen(const char *filename, int flag); |
3320 | +extern void *android_dlsym(void *handle, const char *symbol); |
3321 | + |
3322 | +#ifdef __cplusplus |
3323 | +} |
3324 | +#endif |
3325 | + |
3326 | +namespace internal |
3327 | +{ |
3328 | + |
3329 | +struct ToApplication |
3330 | +{ |
3331 | + static const char* path() |
3332 | + { |
3333 | + return "/system/lib/libubuntu_application_api.so"; |
3334 | + } |
3335 | +}; |
3336 | + |
3337 | +struct ToHardware |
3338 | +{ |
3339 | + static const char* path() |
3340 | + { |
3341 | + return "/system/lib/libubuntu_platform_hardware_api.so"; |
3342 | + } |
3343 | +}; |
3344 | + |
3345 | +template<typename Scope = ToApplication> |
3346 | +class Bridge |
3347 | +{ |
3348 | + public: |
3349 | + static Bridge<Scope>& instance() |
3350 | + { |
3351 | + static Bridge<Scope> bridge; |
3352 | + return bridge; |
3353 | + } |
3354 | + |
3355 | + void* resolve_symbol(const char* symbol) const |
3356 | + { |
3357 | + return android_dlsym(lib_handle, symbol); |
3358 | + } |
3359 | + |
3360 | + protected: |
3361 | + Bridge() : lib_handle(android_dlopen(Scope::path(), RTLD_LAZY)) |
3362 | + { |
3363 | + assert(lib_handle && "Error loading ubuntu_application_api"); |
3364 | + } |
3365 | + |
3366 | + ~Bridge() |
3367 | + { |
3368 | + // TODO android_dlclose(libcamera_handle); |
3369 | + } |
3370 | + |
3371 | + void* lib_handle; |
3372 | +}; |
3373 | + |
3374 | +} |
3375 | + |
3376 | +#ifdef __cplusplus |
3377 | +extern "C" { |
3378 | +#endif |
3379 | + |
3380 | +/**********************************************************/ |
3381 | +/*********** Implementation starts here *******************/ |
3382 | +/**********************************************************/ |
3383 | + |
3384 | +#define DLSYM(fptr, sym) if (*(fptr) == NULL) { *((void**)fptr) = (void *) internal::Bridge<>::instance().resolve_symbol(sym); } |
3385 | + |
3386 | +#define IMPLEMENT_FUNCTION0(return_type, symbol) \ |
3387 | + return_type symbol() \ |
3388 | + { \ |
3389 | + static return_type (*f)() = NULL; \ |
3390 | + DLSYM(&f, #symbol); \ |
3391 | + return f();} |
3392 | + |
3393 | +#define IMPLEMENT_VOID_FUNCTION0(symbol) \ |
3394 | + void symbol() \ |
3395 | + { \ |
3396 | + static void (*f)() = NULL; \ |
3397 | + DLSYM(&f, #symbol); \ |
3398 | + f();} |
3399 | + |
3400 | +#define IMPLEMENT_FUNCTION1(return_type, symbol, arg1) \ |
3401 | + return_type symbol(arg1 _1) \ |
3402 | + { \ |
3403 | + static return_type (*f)(arg1) = NULL; \ |
3404 | + DLSYM(&f, #symbol); \ |
3405 | + return f(_1); } |
3406 | + |
3407 | +#define IMPLEMENT_SF_FUNCTION1(return_type, symbol, arg1) \ |
3408 | + return_type symbol(arg1 _1) \ |
3409 | + { \ |
3410 | + static return_type (*f)(arg1) __attribute__((pcs("aapcs"))) = NULL; \ |
3411 | + DLSYM(&f, #symbol); \ |
3412 | + return f(_1); } |
3413 | + |
3414 | + |
3415 | +#define IMPLEMENT_VOID_FUNCTION1(symbol, arg1) \ |
3416 | + void symbol(arg1 _1) \ |
3417 | + { \ |
3418 | + static void (*f)(arg1) = NULL; \ |
3419 | + DLSYM(&f, #symbol); \ |
3420 | + f(_1); } |
3421 | + |
3422 | +#define IMPLEMENT_FUNCTION2(return_type, symbol, arg1, arg2) \ |
3423 | + return_type symbol(arg1 _1, arg2 _2) \ |
3424 | + { \ |
3425 | + static return_type (*f)(arg1, arg2) = NULL; \ |
3426 | + DLSYM(&f, #symbol); \ |
3427 | + return f(_1, _2); } |
3428 | + |
3429 | +#define IMPLEMENT_VOID_FUNCTION2(symbol, arg1, arg2) \ |
3430 | + void symbol(arg1 _1, arg2 _2) \ |
3431 | + { \ |
3432 | + static void (*f)(arg1, arg2) = NULL; \ |
3433 | + DLSYM(&f, #symbol); \ |
3434 | + f(_1, _2); } |
3435 | + |
3436 | +#define IMPLEMENT_FUNCTION3(return_type, symbol, arg1, arg2, arg3) \ |
3437 | + return_type symbol(arg1 _1, arg2 _2, arg3 _3) \ |
3438 | + { \ |
3439 | + static return_type (*f)(arg1, arg2, arg3) = NULL; \ |
3440 | + DLSYM(&f, #symbol); \ |
3441 | + return f(_1, _2, _3); } |
3442 | + |
3443 | +#define IMPLEMENT_VOID_FUNCTION3(symbol, arg1, arg2, arg3) \ |
3444 | + void symbol(arg1 _1, arg2 _2, arg3 _3) \ |
3445 | + { \ |
3446 | + static void (*f)(arg1, arg2, arg3) = NULL; \ |
3447 | + DLSYM(&f, #symbol); \ |
3448 | + f(_1, _2, _3); } |
3449 | + |
3450 | +#define IMPLEMENT_VOID_FUNCTION4(symbol, arg1, arg2, arg3, arg4) \ |
3451 | + void symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4) \ |
3452 | + { \ |
3453 | + static void (*f)(arg1, arg2, arg3, arg4) = NULL; \ |
3454 | + DLSYM(&f, #symbol); \ |
3455 | + f(_1, _2, _3, _4); } |
3456 | + |
3457 | +#define IMPLEMENT_FUNCTION4(return_type, symbol, arg1, arg2, arg3, arg4) \ |
3458 | + return_type symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4) \ |
3459 | + { \ |
3460 | + static return_type (*f)(arg1, arg2, arg3, arg4) = NULL; \ |
3461 | + DLSYM(&f, #symbol); \ |
3462 | + return f(_1, _2, _3, _4); } |
3463 | + |
3464 | +#define IMPLEMENT_FUNCTION6(return_type, symbol, arg1, arg2, arg3, arg4, arg5, arg6) \ |
3465 | + return_type symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4, arg5 _5, arg6 _6) \ |
3466 | + { \ |
3467 | + static return_type (*f)(arg1, arg2, arg3, arg4, arg5, arg6) = NULL; \ |
3468 | + DLSYM(&f, #symbol); \ |
3469 | + return f(_1, _2, _3, _4, _5, _6); } |
3470 | + |
3471 | +#define IMPLEMENT_VOID_FUNCTION7(symbol, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ |
3472 | + void symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4, arg5 _5, arg6 _6, arg7 _7) \ |
3473 | + { \ |
3474 | + static void (*f)(arg1, arg2, arg3, arg4, arg5, arg6, arg7) = NULL; \ |
3475 | + DLSYM(&f, #symbol); \ |
3476 | + f(_1, _2, _3, _4, _5, _6, _7); } |
3477 | + |
3478 | +#define IMPLEMENT_VOID_FUNCTION8(symbol, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ |
3479 | + void symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4, arg5 _5, arg6 _6, arg7 _7, arg8 _8) \ |
3480 | + { \ |
3481 | + static void (*f)(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) = NULL; \ |
3482 | + DLSYM(&f, #symbol); \ |
3483 | + f(_1, _2, _3, _4, _5, _6, _7, _8); } |
3484 | + |
3485 | +#ifdef __cplusplus |
3486 | +} |
3487 | +#endif |
3488 | + |
3489 | +#endif // BRIDGE_H_ |
3490 | |
3491 | === modified file 'src/android/tests/CMakeLists.txt' |
3492 | --- src/android/tests/CMakeLists.txt 2013-02-05 06:58:40 +0000 |
3493 | +++ src/android/tests/CMakeLists.txt 2013-06-14 14:53:26 +0000 |
3494 | @@ -4,7 +4,7 @@ |
3495 | target_link_libraries(test_android_ubuntu_app_api ubuntu_application_api EGL GLESv2) |
3496 | |
3497 | add_executable(test_android_gps_api test_gps_api.cpp) |
3498 | -target_link_libraries(test_android_gps_api ubuntu_application_api) |
3499 | +target_link_libraries(test_android_gps_api ubuntu_platform_hardware_api) |
3500 | |
3501 | add_executable(test_android_ubuntu_app_api_multiple_surfaces test_multiple_surfaces_event_delivery.cpp) |
3502 | target_link_libraries(test_android_ubuntu_app_api_multiple_surfaces ubuntu_application_api EGL GLESv2) |
3503 | |
3504 | === modified file 'src/android/tests/test_gps_api.cpp' |
3505 | --- src/android/tests/test_gps_api.cpp 2013-02-05 08:01:14 +0000 |
3506 | +++ src/android/tests/test_gps_api.cpp 2013-06-14 14:53:26 +0000 |
3507 | @@ -15,7 +15,7 @@ |
3508 | * |
3509 | * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com> |
3510 | */ |
3511 | -#include <ubuntu/application/ubuntu_application_gps.h> |
3512 | +#include <ubuntu/hardware/gps.h> |
3513 | |
3514 | #include <ctime> |
3515 | #include <signal.h> |
3516 | @@ -23,6 +23,8 @@ |
3517 | #include <string.h> |
3518 | #include <unistd.h> |
3519 | |
3520 | +namespace ubuntu |
3521 | +{ |
3522 | class GPSTest |
3523 | { |
3524 | public: |
3525 | @@ -32,10 +34,10 @@ |
3526 | bool stop(); |
3527 | void inject_time(); |
3528 | |
3529 | - UbuntuGps ubuntu_gps; |
3530 | + UHardwareGps u_hardware_gps; |
3531 | }; |
3532 | |
3533 | -void gps_location_cb(UbuntuGpsLocation* location, void* context) |
3534 | +void gps_location_cb(UHardwareGpsLocation* location, void* context) |
3535 | { |
3536 | printf("gps_location_cb() called.\n"); |
3537 | } |
3538 | @@ -44,26 +46,26 @@ |
3539 | { |
3540 | switch(status) |
3541 | { |
3542 | - case UBUNTU_GPS_STATUS_NONE: |
3543 | + case U_HARDWARE_GPS_STATUS_NONE: |
3544 | printf("status: None\n"); |
3545 | break; |
3546 | - case UBUNTU_GPS_STATUS_SESSION_BEGIN: |
3547 | + case U_HARDWARE_GPS_STATUS_SESSION_BEGIN: |
3548 | printf("status: Session Begin\n"); |
3549 | break; |
3550 | - case UBUNTU_GPS_STATUS_SESSION_END: |
3551 | + case U_HARDWARE_GPS_STATUS_SESSION_END: |
3552 | printf("status: Session End\n"); |
3553 | break; |
3554 | - case UBUNTU_GPS_STATUS_ENGINE_ON: |
3555 | + case U_HARDWARE_GPS_STATUS_ENGINE_ON: |
3556 | printf("status: Engine On\n"); |
3557 | break; |
3558 | - case UBUNTU_GPS_STATUS_ENGINE_OFF: |
3559 | + case U_HARDWARE_GPS_STATUS_ENGINE_OFF: |
3560 | printf("status: Engine Off\n"); |
3561 | default: |
3562 | break; |
3563 | }; |
3564 | } |
3565 | |
3566 | -void gps_sb_status_cb(UbuntuGpsSvStatus* sv_info, void* context) |
3567 | +void gps_sb_status_cb(UHardwareGpsSvStatus* sv_info, void* context) |
3568 | { |
3569 | printf("gps_sb_status_cb() called, listing %d space vehicles\n", sv_info->num_svs); |
3570 | } |
3571 | @@ -80,15 +82,15 @@ |
3572 | { |
3573 | printf("gps_set_cabapilities_cb() -"); |
3574 | |
3575 | - if (capabilities & UBUNTU_GPS_CAPABILITY_SCHEDULING) |
3576 | + if (capabilities & U_HARDWARE_GPS_CAPABILITY_SCHEDULING) |
3577 | printf(" scheduling"); |
3578 | - if (capabilities & UBUNTU_GPS_CAPABILITY_MSB) |
3579 | + if (capabilities & U_HARDWARE_GPS_CAPABILITY_MSB) |
3580 | printf(" MSB"); |
3581 | - if (capabilities & UBUNTU_GPS_CAPABILITY_MSA) |
3582 | + if (capabilities & U_HARDWARE_GPS_CAPABILITY_MSA) |
3583 | printf(" MSA"); |
3584 | - if (capabilities & UBUNTU_GPS_CAPABILITY_SINGLE_SHOT) |
3585 | + if (capabilities & U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT) |
3586 | printf(" 'single shot'"); |
3587 | - if (capabilities & UBUNTU_GPS_CAPABILITY_ON_DEMAND_TIME) |
3588 | + if (capabilities & U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME) |
3589 | printf(" 'on demand time'"); |
3590 | |
3591 | printf("\n"); |
3592 | @@ -105,31 +107,31 @@ |
3593 | printf("gps_xtra_download_request_cb() called.\n"); |
3594 | } |
3595 | |
3596 | -void agps_status_cb(UbuntuAgpsStatus* status, void* context) |
3597 | +void agps_status_cb(UHardwareGpsAGpsStatus* status, void* context) |
3598 | { |
3599 | printf("agps status -"); |
3600 | |
3601 | - if (status->type == UBUNTU_AGPS_TYPE_SUPL) |
3602 | + if (status->type == U_HARDWARE_GPS_AGPS_TYPE_SUPL) |
3603 | printf(" SUPL"); |
3604 | else |
3605 | printf(" C2K"); |
3606 | |
3607 | switch (status->status) |
3608 | { |
3609 | - case UBUNTU_GPS_REQUEST_AGPS_DATA_CONN: |
3610 | + case U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN: |
3611 | printf(", request AGPS data connection"); |
3612 | break; |
3613 | - case UBUNTU_GPS_RELEASE_AGPS_DATA_CONN: |
3614 | + case U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN: |
3615 | printf(", release AGPS data connection"); |
3616 | break; |
3617 | - case UBUNTU_GPS_AGPS_DATA_CONNECTED: |
3618 | + case U_HARDWARE_GPS_AGPS_DATA_CONNECTED: |
3619 | printf(", request AGPS data connected"); |
3620 | break; |
3621 | - case UBUNTU_GPS_AGPS_DATA_CONN_DONE: |
3622 | + case U_HARDWARE_GPS_AGPS_DATA_CONN_DONE: |
3623 | printf(", AGPS data connection done"); |
3624 | break; |
3625 | default: |
3626 | - case UBUNTU_GPS_AGPS_DATA_CONN_FAILED: |
3627 | + case U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED: |
3628 | printf(", AGPS data connection failed"); |
3629 | break; |
3630 | } |
3631 | @@ -137,7 +139,7 @@ |
3632 | printf(" ipaddr=%u\n", status->ipaddr); |
3633 | } |
3634 | |
3635 | -void gps_notify_cb(UbuntuGpsNiNotification *notification, void* context) |
3636 | +void gps_notify_cb(UHardwareGpsNiNotification *notification, void* context) |
3637 | { |
3638 | printf("gps_notify_cb() called.\n"); |
3639 | } |
3640 | @@ -153,14 +155,14 @@ |
3641 | } |
3642 | |
3643 | GPSTest::GPSTest() |
3644 | - : ubuntu_gps(NULL) |
3645 | + : u_hardware_gps(NULL) |
3646 | { |
3647 | } |
3648 | |
3649 | GPSTest::~GPSTest() |
3650 | { |
3651 | - if (ubuntu_gps) |
3652 | - ubuntu_gps_delete(ubuntu_gps); |
3653 | + if (u_hardware_gps) |
3654 | + u_hardware_gps_delete(u_hardware_gps); |
3655 | } |
3656 | |
3657 | void GPSTest::inject_time() |
3658 | @@ -168,7 +170,7 @@ |
3659 | // A real implementation would inject time from some NTP server. |
3660 | time_t t = time(0); |
3661 | int64_t time_millis = (int64_t)t * (int64_t)1000; |
3662 | - ubuntu_gps_inject_time(ubuntu_gps, |
3663 | + u_hardware_gps_inject_time(u_hardware_gps, |
3664 | time_millis /*NTP time would go here*/, |
3665 | time_millis /*internal time when that NTP time was taken*/, |
3666 | 10 /* possible deviation, in milliseconds*/); |
3667 | @@ -176,7 +178,7 @@ |
3668 | |
3669 | bool GPSTest::init_and_start() |
3670 | { |
3671 | - UbuntuGpsParams gps_params; |
3672 | + UHardwareGpsParams gps_params; |
3673 | |
3674 | gps_params.location_cb = gps_location_cb; |
3675 | gps_params.status_cb = gps_status_cb; |
3676 | @@ -191,14 +193,14 @@ |
3677 | gps_params.request_refloc_cb = agps_ril_request_refloc_cb; |
3678 | gps_params.context = this; |
3679 | |
3680 | - UbuntuGps ubuntu_gps = ubuntu_gps_new(&gps_params); |
3681 | - if (!ubuntu_gps) |
3682 | + UHardwareGps u_hardware_gps = u_hardware_gps_new(&gps_params); |
3683 | + if (!u_hardware_gps) |
3684 | { |
3685 | printf("GPS creation failed!\n"); |
3686 | return false; |
3687 | } |
3688 | |
3689 | - bool ok = ubuntu_gps_start(ubuntu_gps); |
3690 | + bool ok = u_hardware_gps_start(u_hardware_gps); |
3691 | if (!ok) |
3692 | { |
3693 | printf("GPS start up failed!\n"); |
3694 | @@ -210,12 +212,13 @@ |
3695 | |
3696 | bool GPSTest::stop() |
3697 | { |
3698 | - bool ok = ubuntu_gps_stop(ubuntu_gps); |
3699 | + bool ok = u_hardware_gps_stop(u_hardware_gps); |
3700 | if (!ok) |
3701 | printf("failed when stopping GPS!\n"); |
3702 | |
3703 | return ok; |
3704 | } |
3705 | +} |
3706 | |
3707 | void wait_for_sigint() |
3708 | { |
3709 | @@ -232,7 +235,7 @@ |
3710 | int main(int argc, char** argv) |
3711 | { |
3712 | int return_value = 0; |
3713 | - GPSTest test; |
3714 | + ubuntu::GPSTest test; |
3715 | |
3716 | if (!test.init_and_start()) |
3717 | return 1; |
3718 | |
3719 | === modified file 'src/android/ubuntu_application_api.cpp' |
3720 | --- src/android/ubuntu_application_api.cpp 2013-06-07 01:08:41 +0000 |
3721 | +++ src/android/ubuntu_application_api.cpp 2013-06-14 14:53:26 +0000 |
3722 | @@ -19,7 +19,6 @@ |
3723 | |
3724 | #include <private/application/ui/ubuntu_application_ui.h> |
3725 | |
3726 | -#include <ubuntu/application/ubuntu_application_gps.h> |
3727 | #include <ubuntu/ui/ubuntu_ui_session_service.h> |
3728 | |
3729 | // C APIs |
3730 | @@ -33,161 +32,7 @@ |
3731 | #include <ubuntu/application/sensors/proximity.h> |
3732 | #include <ubuntu/application/sensors/light.h> |
3733 | |
3734 | -#include <assert.h> |
3735 | -#include <dlfcn.h> |
3736 | -#include <stddef.h> |
3737 | - |
3738 | -#ifdef __cplusplus |
3739 | -extern "C" { |
3740 | -#endif |
3741 | - |
3742 | -extern void *android_dlopen(const char *filename, int flag); |
3743 | -extern void *android_dlsym(void *handle, const char *symbol); |
3744 | - |
3745 | -#ifdef __cplusplus |
3746 | -} |
3747 | -#endif |
3748 | - |
3749 | -namespace |
3750 | -{ |
3751 | - |
3752 | -struct Bridge |
3753 | -{ |
3754 | - static const char* path_to_library() |
3755 | - { |
3756 | - return "/system/lib/libubuntu_application_api.so"; |
3757 | - } |
3758 | - |
3759 | - static Bridge& instance() { static Bridge bridge; return bridge; } |
3760 | - |
3761 | - Bridge() : lib_handle(android_dlopen(path_to_library(), RTLD_LAZY)) |
3762 | - { |
3763 | - assert(lib_handle && "Error loading ubuntu_application_api"); |
3764 | - } |
3765 | - |
3766 | - ~Bridge() |
3767 | - { |
3768 | - // TODO android_dlclose(libcamera_handle); |
3769 | - } |
3770 | - |
3771 | - void* resolve_symbol(const char* symbol) const |
3772 | - { |
3773 | - return android_dlsym(lib_handle, symbol); |
3774 | - } |
3775 | - |
3776 | - void* lib_handle; |
3777 | -}; |
3778 | - |
3779 | -} |
3780 | - |
3781 | -#ifdef __cplusplus |
3782 | -extern "C" { |
3783 | -#endif |
3784 | - |
3785 | -/**********************************************************/ |
3786 | -/*********** Implementation starts here *******************/ |
3787 | -/**********************************************************/ |
3788 | - |
3789 | -#define DLSYM(fptr, sym) if (*(fptr) == NULL) { *((void**)fptr) = (void *) Bridge::instance().resolve_symbol(sym); } |
3790 | - |
3791 | -#define IMPLEMENT_FUNCTION0(return_type, symbol) \ |
3792 | - return_type symbol() \ |
3793 | - { \ |
3794 | - static return_type (*f)() = NULL; \ |
3795 | - DLSYM(&f, #symbol); \ |
3796 | - return f();} |
3797 | - |
3798 | -#define IMPLEMENT_VOID_FUNCTION0(symbol) \ |
3799 | - void symbol() \ |
3800 | - { \ |
3801 | - static void (*f)() = NULL; \ |
3802 | - DLSYM(&f, #symbol); \ |
3803 | - f();} |
3804 | - |
3805 | -#define IMPLEMENT_FUNCTION1(return_type, symbol, arg1) \ |
3806 | - return_type symbol(arg1 _1) \ |
3807 | - { \ |
3808 | - static return_type (*f)(arg1) = NULL; \ |
3809 | - DLSYM(&f, #symbol); \ |
3810 | - return f(_1); } |
3811 | - |
3812 | -#define IMPLEMENT_SF_FUNCTION1(return_type, symbol, arg1) \ |
3813 | - return_type symbol(arg1 _1) \ |
3814 | - { \ |
3815 | - static return_type (*f)(arg1) __attribute__((pcs("aapcs"))) = NULL; \ |
3816 | - DLSYM(&f, #symbol); \ |
3817 | - return f(_1); } |
3818 | - |
3819 | - |
3820 | -#define IMPLEMENT_VOID_FUNCTION1(symbol, arg1) \ |
3821 | - void symbol(arg1 _1) \ |
3822 | - { \ |
3823 | - static void (*f)(arg1) = NULL; \ |
3824 | - DLSYM(&f, #symbol); \ |
3825 | - f(_1); } |
3826 | - |
3827 | -#define IMPLEMENT_FUNCTION2(return_type, symbol, arg1, arg2) \ |
3828 | - return_type symbol(arg1 _1, arg2 _2) \ |
3829 | - { \ |
3830 | - static return_type (*f)(arg1, arg2) = NULL; \ |
3831 | - DLSYM(&f, #symbol); \ |
3832 | - return f(_1, _2); } |
3833 | - |
3834 | -#define IMPLEMENT_VOID_FUNCTION2(symbol, arg1, arg2) \ |
3835 | - void symbol(arg1 _1, arg2 _2) \ |
3836 | - { \ |
3837 | - static void (*f)(arg1, arg2) = NULL; \ |
3838 | - DLSYM(&f, #symbol); \ |
3839 | - f(_1, _2); } |
3840 | - |
3841 | -#define IMPLEMENT_FUNCTION3(return_type, symbol, arg1, arg2, arg3) \ |
3842 | - return_type symbol(arg1 _1, arg2 _2, arg3 _3) \ |
3843 | - { \ |
3844 | - static return_type (*f)(arg1, arg2, arg3) = NULL; \ |
3845 | - DLSYM(&f, #symbol); \ |
3846 | - return f(_1, _2, _3); } |
3847 | - |
3848 | -#define IMPLEMENT_VOID_FUNCTION3(symbol, arg1, arg2, arg3) \ |
3849 | - void symbol(arg1 _1, arg2 _2, arg3 _3) \ |
3850 | - { \ |
3851 | - static void (*f)(arg1, arg2, arg3) = NULL; \ |
3852 | - DLSYM(&f, #symbol); \ |
3853 | - f(_1, _2, _3); } |
3854 | - |
3855 | -#define IMPLEMENT_VOID_FUNCTION4(symbol, arg1, arg2, arg3, arg4) \ |
3856 | - void symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4) \ |
3857 | - { \ |
3858 | - static void (*f)(arg1, arg2, arg3, arg4) = NULL; \ |
3859 | - DLSYM(&f, #symbol); \ |
3860 | - f(_1, _2, _3, _4); } |
3861 | - |
3862 | -#define IMPLEMENT_FUNCTION4(return_type, symbol, arg1, arg2, arg3, arg4) \ |
3863 | - return_type symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4) \ |
3864 | - { \ |
3865 | - static return_type (*f)(arg1, arg2, arg3, arg4) = NULL; \ |
3866 | - DLSYM(&f, #symbol); \ |
3867 | - return f(_1, _2, _3, _4); } |
3868 | - |
3869 | -#define IMPLEMENT_FUNCTION6(return_type, symbol, arg1, arg2, arg3, arg4, arg5, arg6) \ |
3870 | - return_type symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4, arg5 _5, arg6 _6) \ |
3871 | - { \ |
3872 | - static return_type (*f)(arg1, arg2, arg3, arg4, arg5, arg6) = NULL; \ |
3873 | - DLSYM(&f, #symbol); \ |
3874 | - return f(_1, _2, _3, _4, _5, _6); } |
3875 | - |
3876 | -#define IMPLEMENT_VOID_FUNCTION7(symbol, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ |
3877 | - void symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4, arg5 _5, arg6 _6, arg7 _7) \ |
3878 | - { \ |
3879 | - static void (*f)(arg1, arg2, arg3, arg4, arg5, arg6, arg7) = NULL; \ |
3880 | - DLSYM(&f, #symbol); \ |
3881 | - f(_1, _2, _3, _4, _5, _6, _7); } |
3882 | - |
3883 | -#define IMPLEMENT_VOID_FUNCTION8(symbol, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ |
3884 | - void symbol(arg1 _1, arg2 _2, arg3 _3, arg4 _4, arg5 _5, arg6 _6, arg7 _7, arg8 _8) \ |
3885 | - { \ |
3886 | - static void (*f)(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) = NULL; \ |
3887 | - DLSYM(&f, #symbol); \ |
3888 | - f(_1, _2, _3, _4, _5, _6, _7, _8); } |
3889 | +#include "bridge.h" |
3890 | |
3891 | // Session helpers |
3892 | IMPLEMENT_FUNCTION0(UAUiSessionProperties*, ua_ui_session_properties_new); |
3893 | @@ -322,6 +167,7 @@ |
3894 | IMPLEMENT_VOID_FUNCTION0(ubuntu_ui_report_osk_invisible); |
3895 | IMPLEMENT_VOID_FUNCTION0(ubuntu_ui_report_notification_visible); |
3896 | IMPLEMENT_VOID_FUNCTION0(ubuntu_ui_report_notification_invisible); |
3897 | +<<<<<<< TREE |
3898 | IMPLEMENT_VOID_FUNCTION1(ubuntu_ui_install_task_controller, ubuntu_ui_task_controller*); |
3899 | |
3900 | // GPS |
3901 | @@ -339,3 +185,5 @@ |
3902 | #ifdef __cplusplus |
3903 | } |
3904 | #endif |
3905 | +======= |
3906 | +>>>>>>> MERGE-SOURCE |
3907 | |
3908 | === added file 'src/android/ubuntu_platform_hardware_api.cpp' |
3909 | --- src/android/ubuntu_platform_hardware_api.cpp 1970-01-01 00:00:00 +0000 |
3910 | +++ src/android/ubuntu_platform_hardware_api.cpp 2013-06-14 14:53:26 +0000 |
3911 | @@ -0,0 +1,78 @@ |
3912 | +/* |
3913 | + * Copyright (C) 2012 Canonical Ltd |
3914 | + * |
3915 | + * This program is free software: you can redistribute it and/or modify |
3916 | + * it under the terms of the GNU Lesser General Public License version 3 as |
3917 | + * published by the Free Software Foundation. |
3918 | + * |
3919 | + * This program is distributed in the hope that it will be useful, |
3920 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3921 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3922 | + * GNU Lesser General Public License for more details. |
3923 | + * |
3924 | + * You should have received a copy of the GNU Lesser General Public License |
3925 | + * along with this program. If not, see <http://www.gnu.org/licenses/>. |
3926 | + * |
3927 | + * Authored by: Thomas Voss <thomas.voss@canonical.com> |
3928 | + * Ricardo Mendoza <ricardo.mendoza@canonical.com> |
3929 | + */ |
3930 | + |
3931 | +// C APIs |
3932 | +#include <ubuntu/hardware/gps.h> |
3933 | + |
3934 | +#include "bridge.h" |
3935 | + |
3936 | +// Hardware - GPS |
3937 | +IMPLEMENT_FUNCTION1( |
3938 | +UHardwareGps, |
3939 | +u_hardware_gps_new, |
3940 | +UHardwareGpsParams*); |
3941 | + |
3942 | +IMPLEMENT_VOID_FUNCTION1( |
3943 | +u_hardware_gps_delete, |
3944 | +UHardwareGps); |
3945 | + |
3946 | +IMPLEMENT_FUNCTION1( |
3947 | +bool, |
3948 | +u_hardware_gps_start, |
3949 | +UHardwareGps); |
3950 | + |
3951 | +IMPLEMENT_FUNCTION1( |
3952 | +bool, |
3953 | +u_hardware_gps_stop, |
3954 | +UHardwareGps); |
3955 | + |
3956 | +IMPLEMENT_VOID_FUNCTION4( |
3957 | +u_hardware_gps_inject_time, |
3958 | +UHardwareGps, |
3959 | +int64_t, |
3960 | +int64_t, |
3961 | +int); |
3962 | + |
3963 | +IMPLEMENT_VOID_FUNCTION4( |
3964 | +u_hardware_gps_inject_location, |
3965 | +UHardwareGps, |
3966 | +double, |
3967 | +double, |
3968 | +float); |
3969 | + |
3970 | +IMPLEMENT_VOID_FUNCTION2( |
3971 | +u_hardware_gps_delete_aiding_data, |
3972 | +UHardwareGps, |
3973 | +uint16_t); |
3974 | + |
3975 | +IMPLEMENT_FUNCTION6( |
3976 | +bool, |
3977 | +u_hardware_gps_set_position_mode, |
3978 | +UHardwareGps, |
3979 | +uint32_t, |
3980 | +uint32_t, |
3981 | +uint32_t, |
3982 | +uint32_t, |
3983 | +uint32_t); |
3984 | + |
3985 | +IMPLEMENT_VOID_FUNCTION3( |
3986 | +u_hardware_gps_inject_xtra_data, |
3987 | +UHardwareGps, |
3988 | +char*, |
3989 | +int); |