14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------* 24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * SR_EventLog.h * 34a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Copyright 2007, 2008 Nuance Communciations, Inc. * 54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the 'License'); * 74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * you may not use this file except in compliance with the License. * 84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * You may obtain a copy of the License at * 104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 * 114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Unless required by applicable law or agreed to in writing, software * 134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * distributed under the License is distributed on an 'AS IS' BASIS, * 144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * See the License for the specific language governing permissions and * 164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * limitations under the License. * 174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * * 184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *---------------------------------------------------------------------------*/ 194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef __SR_EventLog_H 214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define __SR_EventLog_H 224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_EventLogPrefix.h" 264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ptypes.h" 274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_ReturnCode.h" 284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @addtogroup SR_EventLogModule SR_EventLog API functions 324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Provides OSI logging. 334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @{ 354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * OSI Event Log levels 394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Basic logging level. 434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define OSI_LOG_LEVEL_BASIC 0x01 454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log audio data. 474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define OSI_LOG_LEVEL_AUDIO 0x02 494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log ADDWORD commands. 514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define OSI_LOG_LEVEL_ADDWD 0x04 534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log a string token using the basic logging level. 564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogToken_BASIC(log, loglevel, tokenName, value) \ 584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->token(log, tokenName, value) : ESR_SUCCESS ) \ 604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log an integer token using the basic logging level. 634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogTokenInt_BASIC(log, loglevel, tokenName, value) \ 654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->tokenInt(log, tokenName, value) : ESR_SUCCESS ) \ 674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 69b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * Log a pointer token using the basic logging level. 70b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland */ 71b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland#define SR_EventLogTokenPointer_BASIC(log, loglevel, tokenName, value) \ 72b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 73b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland log->tokenPointer(log, tokenName, value) : ESR_SUCCESS ) \ 74b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland 75b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland/** 764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log a uint16 token using the basic logging level. 774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogTokenUint16_t_BASIC(log, loglevel, tokenName, value) \ 794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->tokenUint16_t(log, tokenName, value) : ESR_SUCCESS ) \ 814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log a size_t token using the basic logging level. 844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogTokenSize_t_BASIC(log, loglevel, tokenName, value) \ 864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->tokenSize_t(log, tokenName, value) : ESR_SUCCESS ) \ 884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log a boolean token using the basic logging level. 914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogTokenBool_BASIC(log, loglevel, tokenName, value) \ 934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->tokenBool(log, tokenName, value) : ESR_SUCCESS ) \ 954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log a float token using the basic logging level. 984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogTokenFloat_BASIC(log, loglevel, tokenName, value) \ 1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->tokenFloat(log, tokenName, value) : ESR_SUCCESS ) \ 1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log an event using the basic logging level. 1054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogEvent_BASIC(log, loglevel, eventName) \ 1074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_BASIC) ? \ 1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->event(log, eventName) : ESR_SUCCESS ) \ 1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log a string token using the audio logging level. 1124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogToken_AUDIO(log, loglevel, tokenName, value) \ 1144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_AUDIO) ? \ 1154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->token(log, tokenName, value) : ESR_SUCCESS ) \ 1164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log an integer token using the audio logging level. 1194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogTokenInt_AUDIO(log, loglevel, tokenName, value) \ 1214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_AUDIO) ? \ 1224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->tokenInt(log, tokenName, value) : ESR_SUCCESS ) \ 1234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log an event using the audio logging level. 1264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define SR_EventLogEvent_AUDIO(log, loglevel, eventName) \ 1284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ((loglevel & OSI_LOG_LEVEL_AUDIO) ? \ 1294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project log->event(log, eventName) : ESR_SUCCESS ) \ 1304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 1324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Represents a EventLog. 1334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct SR_EventLog_t 1354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{ 1364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Destroys a EventLog. 1384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 1394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self EventLog handle 1404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*destroy)(struct SR_EventLog_t* self); 1424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 1454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 1464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 1474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 1484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 1494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*token)(struct SR_EventLog_t* self, const LCHAR* token, const LCHAR *value); 1514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 1544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 1554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 1564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 1574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 1584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*tokenInt)(struct SR_EventLog_t* self, const LCHAR* token, int value); 1604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 1634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 1644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 1654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 1664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 1674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 168b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland ESR_ReturnCode(*tokenPointer)(struct SR_EventLog_t* self, const LCHAR* token, void* value); 169b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland 170b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland /** 171b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * Logs an OSI log token. 172b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * 173b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * @param self SR_EventLog handle 174b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * @param token Token name 175b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * @param value Token value 176b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland */ 1774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*tokenUint16_t)(struct SR_EventLog_t* self, const LCHAR* token, asr_uint16_t value); 1784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 1814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 1824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 1834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 1844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 1854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*tokenSize_t)(struct SR_EventLog_t* self, const LCHAR* token, size_t value); 1874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 1904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 1914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 1924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 1934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 1944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 1954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*tokenBool)(struct SR_EventLog_t* self, const LCHAR* token, ESR_BOOL value); 1964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 1984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 1994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 2024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 2034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*tokenFloat)(struct SR_EventLog_t* self, const LCHAR* token, float value); 2054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 2074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Commits all previously accumulated log tokens. 2084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param eventName Name of the event associated with the tokens 2114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*event)(struct SR_EventLog_t* self, const LCHAR* eventName); 2134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 2164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log the contents of the ESR_Session. 2174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*eventSession)(struct SR_EventLog_t* self); 2214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 2234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Opens a new file for recording a waveform of audio. Filename is automatically generated. Opened file 2244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * becomes the current one where data is written to until closed. 2254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param audio_type String identifying type of audio e.g. L("audio/L16") 2284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param sample_rate Sampling rate 2294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param sample_size Size of sampling in bytes. 2304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*audioOpen)(struct SR_EventLog_t* self, const LCHAR* audio_type, size_t sample_rate, size_t sample_size); 2324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 2344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Closes the current file. 2354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param eventName Name of the event associated with the tokens 2384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*audioClose)(struct SR_EventLog_t* self); 2404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 2424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Writes datat to the current audio file. 2434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param buffer Buffer holding the data to write 2464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param num_bytes The number of bytes in the buffer. 2474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*audioWrite)(struct SR_EventLog_t* self, void* buffer, size_t num_bytes); 2494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project /** 2514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Returns the filename of the current audio file used for logging. 2524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param waveformFilename Name of the current audio file. 2554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param len Length of buffer. 2564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project ESR_ReturnCode(*audioGetFilename)(struct SR_EventLog_t* self, LCHAR* waveformFilename, size_t* len); 2584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project} 2594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSR_EventLog; 2604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 2624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Create a new EventLog 2634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self EventLog handle 2654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogCreate(SR_EventLog** self); 2674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 2694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Destroys a EventLog. 2704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self EventLog handle 2724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogDestroy(SR_EventLog* self); 2744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 2764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 2774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 2804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 2814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogToken(SR_EventLog* self, const LCHAR* token, const LCHAR *value); 2834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 2854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 2864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 2894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 2904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 2914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogTokenInt(SR_EventLog* self, const LCHAR* token, int value); 2924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 2934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 2944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 2954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 2964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 2974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 2984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 2994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 300b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus OaklandSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogTokenPointer(SR_EventLog* self, const LCHAR* token, void* value); 301b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland 302b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland/** 303b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * Logs an OSI log token. 304b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * 305b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * @param self SR_EventLog handle 306b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * @param token Token name 307b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland * @param value Token value 308b3adea6f471d03c5bd728725adc7ca1cea89edfdMarcus Oakland */ 3094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogTokenUint16_t(SR_EventLog* self, const LCHAR* token, asr_uint16_t value); 3104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 3134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 3164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 3174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogTokenSize_t(SR_EventLog* self, const LCHAR* token, size_t value); 3194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 3224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 3254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 3264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogTokenBool(SR_EventLog* self, const LCHAR* token, ESR_BOOL value); 3284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Logs an OSI log token. 3314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param token Token name 3344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param value Token value 3354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogTokenFloat(SR_EventLog* self, const LCHAR* token, float value); 3374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Log the contents of the ESR_Session. 3404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogEventSession(SR_EventLog* self); 3444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Commits all previously accumulated log tokens. 3474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param eventName Name of the event associated with the tokens 3504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogEvent(SR_EventLog* self, const LCHAR* eventName); 3524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Opens a new file for recording a waveform of audio. Filename is automatically generated. Opened file 3554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * becomes the current one where data is written to until closed. 3564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param audio_type String identifying type of audio e.g. L("audio/L16") 3594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param sample_rate Sampling rate 3604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param sample_size Size of sampling in bytes. 3614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogAudioOpen(SR_EventLog* self, const LCHAR* audio_type, size_t sample_rate, size_t sample_size); 3634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Closes the current file. 3664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogAudioClose(SR_EventLog* self); 3704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Writes datat to the current audio file. 3734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param buffer Buffer holding the data to write 3764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param num_bytes The number of bytes in the buffer. 3774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogAudioWrite(SR_EventLog* self, void* buffer, size_t num_bytes); 3794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Returns the filename of the current audio file used for logging. 3824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * 3834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param self SR_EventLog handle 3844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param waveformFilename Name of the current audio file. 3854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @param len Length of buffer. 3864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */ 3874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_EVENTLOG_API ESR_ReturnCode SR_EventLogAudioGetFilename(SR_EventLog* self, LCHAR* waveformFilename, size_t* len); 3884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/** 3904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project* @} 3914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project*/ 3924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 3944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif /* __SR_EventLog_H */ 395