1b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent/*
2b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * Copyright (C) 2014 The Android Open Source Project
3b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent *
4b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * Licensed under the Apache License, Version 2.0 (the "License");
5b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * you may not use this file except in compliance with the License.
6b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * You may obtain a copy of the License at
7b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent *
8b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent *      http://www.apache.org/licenses/LICENSE-2.0
9b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent *
10b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * Unless required by applicable law or agreed to in writing, software
11b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * distributed under the License is distributed on an "AS IS" BASIS,
12b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * See the License for the specific language governing permissions and
14b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent * limitations under the License.
15b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent */
16b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
17b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent#ifndef ANDROID_HARDWARE_SOUNDTRIGGER_CALLBACK_H
18b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent#define ANDROID_HARDWARE_SOUNDTRIGGER_CALLBACK_H
19b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
20b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent#include <utils/RefBase.h>
21b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent#include <system/sound_trigger.h>
22b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
23b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurentnamespace android {
24b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
25b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurentclass SoundTriggerCallback : public RefBase
26b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent{
27b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurentpublic:
28b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
29b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent            SoundTriggerCallback() {}
30b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent    virtual ~SoundTriggerCallback() {}
31b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
32b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent    virtual void onRecognitionEvent(struct sound_trigger_recognition_event *event) = 0;
33b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
34df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871Eric Laurent    virtual void onSoundModelEvent(struct sound_trigger_model_event *event) = 0;
35df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871Eric Laurent
36df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871Eric Laurent    virtual void onServiceStateChange(sound_trigger_service_state_t state) = 0;
37df3dc7e2fe6c639529b70e3f3a7d2bf0f4c6e871Eric Laurent
38b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent    virtual void onServiceDied() = 0;
39b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
40b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent};
41b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
42b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent}; // namespace android
43b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent
44b7a11d83f749ad0200778c4815e907d011d4b5d3Eric Laurent#endif //ANDROID_HARDWARE_SOUNDTRIGGER_CALLBACK_H
45