2 * Copyright (C) 2011, BMW AG
4 * GeniviAudioMananger AudioManagerDaemon
8 * \date 20-Oct-2011 3:42:04 PM
9 * \author Christian Mueller (christian.ei.mueller@bmw.de)
12 * GNU Lesser General Public License, version 2.1, with special exception (GENIVI clause)
13 * Copyright (C) 2011, BMW AG Christian Mueller Christian.ei.mueller@bmw.de
15 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License, version 2.1, as published by the Free Software Foundation.
16 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License, version 2.1, for more details.
17 * You should have received a copy of the GNU Lesser General Public License, version 2.1, along with this program; if not, see <http://www.gnu.org/licenses/lgpl-2.1.html>.
18 * Note that the copyright holders assume that the GNU Lesser General Public License, version 2.1, may also be applicable to programs even in cases in which the program is not a library in the technical sense.
19 * Linking AudioManager statically or dynamically with other modules is making a combined work based on AudioManager. You may license such other modules under the GNU Lesser General Public License, version 2.1. If you do not want to license your linked modules under the GNU Lesser General Public License, version 2.1, you may use the program under the following exception.
20 * As a special exception, the copyright holders of AudioManager give you permission to combine AudioManager with software programs or libraries that are released under any license unless such a combination is not permitted by the license of such a software program or library. You may copy and distribute such a system following the terms of the GNU Lesser General Public License, version 2.1, including this special exception, for AudioManager and the licenses of the other code concerned.
21 * Note that people who make modified versions of AudioManager are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU Lesser General Public License, version 2.1, gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.
34 static DLTWrapper* instance();
35 void registerApp(const char *appid, const char * description);
36 void registerContext(DltContext& handle, const char *contextid, const char * description);
37 void unregisterContext(DltContext& handle);
38 void init(DltLogLevelType loglevel, DltContext* context = NULL);
40 void append(const int8_t value);
41 void append(const uint8_t value);
42 void append(const int16_t value);
43 void append(const uint16_t value);
44 void append(const int32_t value);
45 void append(const uint32_t value);
46 void append(const char*& value);
47 void append(const std::string& value);
48 void append(const bool value);
51 DLTWrapper(); //is private because of singleton pattern
52 DltContext mDltContext;
53 DltContextData mDltContextData;
54 static DLTWrapper* mDLTWrapper;
58 inline DLTWrapper* getWrapper()
60 return DLTWrapper::instance();
63 template<typename T> void logInfo(T value)
65 DLTWrapper* inst(getWrapper());
66 inst->init(DLT_LOG_INFO);
71 template<typename T, typename T1> void logInfo(T value, T1 value1)
73 DLTWrapper* inst(getWrapper());
74 inst->init(DLT_LOG_INFO);
80 template<typename T, typename T1, typename T2> void logInfo(T value, T1 value1, T2 value2)
82 DLTWrapper* inst(getWrapper());
83 inst->init(DLT_LOG_INFO);
90 template<typename T, typename T1, typename T2, typename T3> void logInfo(T value, T1 value1, T2 value2, T3 value3)
92 DLTWrapper* inst(getWrapper());
93 inst->init(DLT_LOG_INFO);
101 template<typename T, typename T1, typename T2, typename T3, typename T4> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4)
103 DLTWrapper* inst(getWrapper());
104 inst->init(DLT_LOG_INFO);
106 inst->append(value1);
107 inst->append(value2);
108 inst->append(value3);
109 inst->append(value4);
113 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5)
115 DLTWrapper* inst(getWrapper());
116 inst->init(DLT_LOG_INFO);
118 inst->append(value1);
119 inst->append(value2);
120 inst->append(value3);
121 inst->append(value4);
122 inst->append(value5);
126 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6)
128 DLTWrapper* inst(getWrapper());
129 inst->init(DLT_LOG_INFO);
131 inst->append(value1);
132 inst->append(value2);
133 inst->append(value3);
134 inst->append(value4);
135 inst->append(value5);
136 inst->append(value6);
140 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7)
142 DLTWrapper* inst(getWrapper());
143 inst->init(DLT_LOG_INFO);
145 inst->append(value1);
146 inst->append(value2);
147 inst->append(value3);
148 inst->append(value4);
149 inst->append(value5);
150 inst->append(value6);
151 inst->append(value7);
155 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8)
157 DLTWrapper* inst(getWrapper());
158 inst->init(DLT_LOG_INFO);
160 inst->append(value1);
161 inst->append(value2);
162 inst->append(value3);
163 inst->append(value4);
164 inst->append(value5);
165 inst->append(value6);
166 inst->append(value7);
167 inst->append(value8);
171 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9)
173 DLTWrapper* inst(getWrapper());
174 inst->init(DLT_LOG_ERROR);
176 inst->append(value1);
177 inst->append(value2);
178 inst->append(value3);
179 inst->append(value4);
180 inst->append(value5);
181 inst->append(value6);
182 inst->append(value7);
183 inst->append(value8);
184 inst->append(value9);
188 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10> void logInfo(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10)
190 DLTWrapper* inst(getWrapper());
191 inst->init(DLT_LOG_ERROR);
193 inst->append(value1);
194 inst->append(value2);
195 inst->append(value3);
196 inst->append(value4);
197 inst->append(value5);
198 inst->append(value6);
199 inst->append(value7);
200 inst->append(value8);
201 inst->append(value9);
202 inst->append(value10);
206 template<typename T> void logError(T value)
208 DLTWrapper* inst(getWrapper());
209 inst->init(DLT_LOG_ERROR);
214 template<typename T, typename T1> void logError(T value, T1 value1)
216 DLTWrapper* inst(getWrapper());
217 inst->init(DLT_LOG_ERROR);
219 inst->append(value1);
223 template<typename T, typename T1, typename T2> void logError(T value, T1 value1, T2 value2)
225 DLTWrapper* inst(getWrapper());
226 inst->init(DLT_LOG_ERROR);
228 inst->append(value1);
229 inst->append(value2);
233 template<typename T, typename T1, typename T2, typename T3> void logError(T value, T1 value1, T2 value2, T3 value3)
235 DLTWrapper* inst(getWrapper());
236 inst->init(DLT_LOG_ERROR);
238 inst->append(value1);
239 inst->append(value2);
240 inst->append(value3);
244 template<typename T, typename T1, typename T2, typename T3, typename T4> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4)
246 DLTWrapper* inst(getWrapper());
247 inst->init(DLT_LOG_ERROR);
249 inst->append(value1);
250 inst->append(value2);
251 inst->append(value3);
252 inst->append(value4);
256 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5)
258 DLTWrapper* inst(getWrapper());
259 inst->init(DLT_LOG_ERROR);
261 inst->append(value1);
262 inst->append(value2);
263 inst->append(value3);
264 inst->append(value4);
265 inst->append(value5);
269 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6)
271 DLTWrapper* inst(getWrapper());
272 inst->init(DLT_LOG_ERROR);
274 inst->append(value1);
275 inst->append(value2);
276 inst->append(value3);
277 inst->append(value4);
278 inst->append(value5);
279 inst->append(value6);
283 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7)
285 DLTWrapper* inst(getWrapper());
286 inst->init(DLT_LOG_ERROR);
288 inst->append(value1);
289 inst->append(value2);
290 inst->append(value3);
291 inst->append(value4);
292 inst->append(value5);
293 inst->append(value6);
294 inst->append(value7);
298 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8)
300 DLTWrapper* inst(getWrapper());
301 inst->init(DLT_LOG_ERROR);
303 inst->append(value1);
304 inst->append(value2);
305 inst->append(value3);
306 inst->append(value4);
307 inst->append(value5);
308 inst->append(value6);
309 inst->append(value7);
310 inst->append(value8);
314 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9)
316 DLTWrapper* inst(getWrapper());
317 inst->init(DLT_LOG_ERROR);
319 inst->append(value1);
320 inst->append(value2);
321 inst->append(value3);
322 inst->append(value4);
323 inst->append(value5);
324 inst->append(value6);
325 inst->append(value7);
326 inst->append(value8);
327 inst->append(value9);
331 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10> void logError(T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10)
333 DLTWrapper* inst(getWrapper());
334 inst->init(DLT_LOG_ERROR);
336 inst->append(value1);
337 inst->append(value2);
338 inst->append(value3);
339 inst->append(value4);
340 inst->append(value5);
341 inst->append(value6);
342 inst->append(value7);
343 inst->append(value8);
344 inst->append(value9);
345 inst->append(value10);
349 template<typename T> void log(DltContext* const context, DltLogLevelType loglevel, T value)
351 DLTWrapper* inst(getWrapper());
352 inst->init(loglevel, context);
357 template<typename T, typename T1> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1)
359 DLTWrapper* inst(getWrapper());
360 inst->init(loglevel, context);
362 inst->append(value1);
366 template<typename T, typename T1, typename T2> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2)
368 DLTWrapper* inst(getWrapper());
369 inst->init(loglevel, context);
371 inst->append(value1);
372 inst->append(value2);
376 template<typename T, typename T1, typename T2, typename T3> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3)
378 DLTWrapper* inst(getWrapper());
379 inst->init(loglevel, context);
381 inst->append(value1);
382 inst->append(value2);
383 inst->append(value3);
387 template<typename T, typename T1, typename T2, typename T3, typename T4> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4)
389 DLTWrapper* inst(getWrapper());
390 inst->init(loglevel, context);
392 inst->append(value1);
393 inst->append(value2);
394 inst->append(value3);
395 inst->append(value4);
399 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5)
401 DLTWrapper* inst(getWrapper());
402 inst->init(loglevel, context);
404 inst->append(value1);
405 inst->append(value2);
406 inst->append(value3);
407 inst->append(value4);
408 inst->append(value5);
412 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6)
414 DLTWrapper* inst(getWrapper());
415 inst->init(loglevel, context);
417 inst->append(value1);
418 inst->append(value2);
419 inst->append(value3);
420 inst->append(value4);
421 inst->append(value5);
422 inst->append(value6);
426 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7)
428 DLTWrapper* inst(getWrapper());
429 inst->init(loglevel, context);
431 inst->append(value1);
432 inst->append(value2);
433 inst->append(value3);
434 inst->append(value4);
435 inst->append(value5);
436 inst->append(value6);
437 inst->append(value7);
441 template<typename T, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> void log(DltContext* const context, DltLogLevelType loglevel, T value, T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8)
443 DLTWrapper* inst(getWrapper());
444 inst->init(loglevel, context);
446 inst->append(value1);
447 inst->append(value2);
448 inst->append(value3);
449 inst->append(value4);
450 inst->append(value5);
451 inst->append(value6);
452 inst->append(value7);
453 inst->append(value8);
457 #endif /* DLTWRAPPER_H_ */