| /* |
| * Copyright 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.hardware.soundtrigger@2.1; |
| |
| import @2.0::ISoundTriggerHwCallback; |
| import @2.0::PhraseRecognitionExtra; |
| |
| /** |
| * SoundTrigger HAL Callback interface. Obtained during SoundTrigger setup. |
| */ |
| interface ISoundTriggerHwCallback extends @2.0::ISoundTriggerHwCallback { |
| |
| /** |
| * Generic recognition event sent via recognition callback. |
| */ |
| struct RecognitionEvent { |
| /** Event header. Any data contained in the 'header.data' field |
| * is ignored */ |
| @2.0::ISoundTriggerHwCallback.RecognitionEvent header; |
| /** Opaque event data */ |
| memory data; |
| }; |
| |
| /** |
| * Specialized recognition event for key phrase recognitions. |
| */ |
| struct PhraseRecognitionEvent { |
| /** Common part of the recognition event */ |
| RecognitionEvent common; |
| /** List of descriptors for each recognized key phrase */ |
| vec<PhraseRecognitionExtra> phraseExtras; |
| }; |
| |
| /** |
| * Event sent via load sound model callback. |
| */ |
| struct ModelEvent { |
| /** Event header. Any data contained in the 'header.data' field |
| * is ignored */ |
| @2.0::ISoundTriggerHwCallback.ModelEvent header; |
| /** Opaque event data, passed transparently by the framework */ |
| memory data; |
| }; |
| |
| /** |
| * Callback method called by the HAL when the sound recognition triggers. |
| * |
| * @param event A RecognitionEvent structure containing detailed results |
| * of the recognition triggered |
| * @param cookie The cookie passed by the framework when recognition was |
| * started (see ISoundtriggerHw.startRecognition*()) |
| */ |
| recognitionCallback_2_1(RecognitionEvent event, CallbackCookie cookie); |
| |
| /** |
| * Callback method called by the HAL when the sound recognition triggers |
| * for a key phrase sound model. |
| * |
| * @param event A RecognitionEvent structure containing detailed results |
| * of the recognition triggered |
| * @param cookie The cookie passed by the framework when recognition was |
| * started (see ISoundtriggerHw.startRecognition*()) |
| */ |
| phraseRecognitionCallback_2_1(PhraseRecognitionEvent event, |
| CallbackCookie cookie); |
| |
| /** |
| * Callback method called by the HAL when the sound model loading completes. |
| * |
| * @param event A ModelEvent structure containing detailed results of the |
| * model loading operation |
| * @param cookie The cookie passed by the framework when loading was |
| * initiated (see ISoundtriggerHw.loadSoundModel*()) |
| */ |
| soundModelCallback_2_1(ModelEvent event, CallbackCookie cookie); |
| }; |