1/*---------------------------------------------------------------------------*
2 *  EventLog.c  *
3 *                                                                           *
4 *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
5 *                                                                           *
6 *  Licensed under the Apache License, Version 2.0 (the 'License');          *
7 *  you may not use this file except in compliance with the License.         *
8 *                                                                           *
9 *  You may obtain a copy of the License at                                  *
10 *      http://www.apache.org/licenses/LICENSE-2.0                           *
11 *                                                                           *
12 *  Unless required by applicable law or agreed to in writing, software      *
13 *  distributed under the License is distributed on an 'AS IS' BASIS,        *
14 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
15 *  See the License for the specific language governing permissions and      *
16 *  limitations under the License.                                           *
17 *                                                                           *
18 *---------------------------------------------------------------------------*/
19
20#include "SR_EventLog.h"
21#include "SR_EventLogImpl.h"
22#include "pmemory.h"
23#include "plog.h"
24
25
26ESR_ReturnCode SR_EventLogDestroy(SR_EventLog* self)
27{
28  if (self == NULL)
29  {
30    PLogError(L("ESR_INVALID_ARGUMENT"));
31    return ESR_INVALID_ARGUMENT;
32  }
33  return self->destroy(self);
34}
35
36ESR_ReturnCode SR_EventLogToken(SR_EventLog* self, const LCHAR* token, const LCHAR *value)
37{
38  if (self == NULL)
39  {
40    PLogError(L("ESR_INVALID_ARGUMENT"));
41    return ESR_INVALID_ARGUMENT;
42  }
43  return self->token(self, token, value);
44}
45
46ESR_ReturnCode SR_EventLogTokenInt(SR_EventLog* self, const LCHAR* token, int value)
47{
48  if (self == NULL)
49  {
50    PLogError(L("ESR_INVALID_ARGUMENT"));
51    return ESR_INVALID_ARGUMENT;
52  }
53  return self->tokenInt(self, token, value);
54}
55
56ESR_ReturnCode SR_EventLogTokenUint16_t(SR_EventLog* self, const LCHAR* token, asr_uint16_t value)
57{
58  if (self == NULL)
59  {
60    PLogError(L("ESR_INVALID_ARGUMENT"));
61    return ESR_INVALID_ARGUMENT;
62  }
63  return self->tokenUint16_t(self, token, value);
64}
65
66ESR_ReturnCode SR_EventLogTokenSize_t(SR_EventLog* self, const LCHAR* token, size_t value)
67{
68  if (self == NULL)
69  {
70    PLogError(L("ESR_INVALID_ARGUMENT"));
71    return ESR_INVALID_ARGUMENT;
72  }
73  return self->tokenSize_t(self, token, value);
74}
75
76ESR_ReturnCode SR_EventLogTokenBool(SR_EventLog* self, const LCHAR* token, ESR_BOOL value)
77{
78  if (self == NULL)
79  {
80    PLogError(L("ESR_INVALID_ARGUMENT"));
81    return ESR_INVALID_ARGUMENT;
82  }
83  return self->tokenBool(self, token, value);
84}
85
86ESR_ReturnCode SR_EventLogTokenFloat(SR_EventLog* self, const LCHAR* token, float value)
87{
88  if (self == NULL)
89  {
90    PLogError(L("ESR_INVALID_ARGUMENT"));
91    return ESR_INVALID_ARGUMENT;
92  }
93  return self->tokenFloat(self, token, value);
94}
95
96ESR_ReturnCode SR_EventLogEventSession(SR_EventLog* self)
97{
98  if (self == NULL)
99  {
100    PLogError(L("ESR_INVALID_ARGUMENT"));
101    return ESR_INVALID_ARGUMENT;
102  }
103  return self->eventSession(self);
104}
105
106ESR_ReturnCode SR_EventLogEvent(SR_EventLog* self, const LCHAR *eventName)
107{
108  if (self == NULL)
109  {
110    PLogError(L("ESR_INVALID_ARGUMENT"));
111    return ESR_INVALID_ARGUMENT;
112  }
113  return self->event(self, eventName);
114}
115
116ESR_ReturnCode SR_EventLogAudioOpen(SR_EventLog* self, const LCHAR* audio_type, size_t sample_rate, size_t sample_size)
117{
118  if (self == NULL)
119  {
120    PLogError(L("ESR_INVALID_ARGUMENT"));
121    return ESR_INVALID_ARGUMENT;
122  }
123  return self->audioOpen(self, audio_type, sample_rate, sample_size);
124}
125
126ESR_ReturnCode SR_EventLogAudioClose(SR_EventLog* self)
127{
128  if (self == NULL)
129  {
130    PLogError(L("ESR_INVALID_ARGUMENT"));
131    return ESR_INVALID_ARGUMENT;
132  }
133  return self->audioClose(self);
134}
135
136ESR_ReturnCode SR_EventLogAudioWrite(SR_EventLog* self, void* buffer, size_t num_bytes)
137{
138  if (self == NULL)
139  {
140    PLogError(L("ESR_INVALID_ARGUMENT"));
141    return ESR_INVALID_ARGUMENT;
142  }
143  return self->audioWrite(self, buffer, num_bytes);
144}
145
146ESR_ReturnCode SR_EventLogAudioGetFilename(SR_EventLog* self, LCHAR* waveformFilename, size_t* len)
147{
148  if (self == NULL)
149  {
150    PLogError(L("ESR_INVALID_ARGUMENT"));
151    return ESR_INVALID_ARGUMENT;
152  }
153  return self->audioGetFilename(self, waveformFilename, len);
154}
155