blob: d6b8b37ad27f1fccc78dc20c9e1cbeeef6800cf6 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_VOICE_INTERACTION_VOICE_INTERACTION_OBSERVER_H_
#define ASH_VOICE_INTERACTION_VOICE_INTERACTION_OBSERVER_H_
namespace ash {
namespace mojom {
enum class AssistantAllowedState;
enum class VoiceInteractionState;
} // namespace mojom
class VoiceInteractionObserver {
public:
// Called when voice interaction session state changes.
virtual void OnVoiceInteractionStatusChanged(
mojom::VoiceInteractionState state) {}
// Called when voice interaction is enabled/disabled in settings.
virtual void OnVoiceInteractionSettingsEnabled(bool enabled) {}
// Called when voice interaction service is allowed/disallowed to access
// the "context" (text and graphic content that is currently on screen).
virtual void OnVoiceInteractionContextEnabled(bool enabled) {}
// Called when voice interaction setup flow completed.
virtual void OnVoiceInteractionSetupCompleted(bool completed) {}
// Called when assistant feature allowed state has changed.
virtual void OnAssistantFeatureAllowedChanged(
mojom::AssistantAllowedState state) {}
protected:
virtual ~VoiceInteractionObserver() = default;
};
} // namespace ash
#endif // ASH_VOICE_INTERACTION_VOICE_INTERACTION_OBSERVER_H_