mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 08:16:09 +03:00
111 lines
4.1 KiB
Plaintext
111 lines
4.1 KiB
Plaintext
// 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.
|
|
|
|
module ash.mojom;
|
|
|
|
// There is another copy of the VoiceInteractionState definition in
|
|
// //components/arc/common/voice_interaction_framework.mojom
|
|
// Please also update the other one if you change it.
|
|
// The duplicate definition is because we do not use extensible widely
|
|
// (crbug.com/731893).
|
|
|
|
// The initial state is NOT_READY, then it will either becomes STOPPED or
|
|
// RUNNING. If the mojo connection is lost, the state will be set back to
|
|
// NOT_READY.
|
|
enum VoiceInteractionState {
|
|
// Voice interaction service is not ready yet, request sent will be waiting.
|
|
NOT_READY = 0,
|
|
// Voice interaction session is stopped.
|
|
STOPPED,
|
|
// Voice interaction session is currently running.
|
|
RUNNING
|
|
};
|
|
|
|
enum AssistantAllowedState {
|
|
// Assistant feature is allowed.
|
|
ALLOWED = 0,
|
|
// Disallowed because ARC++ is disallowed. There could be many specific
|
|
// reasones why ARC++ is disallowed. This enum is a catch all. Some enums
|
|
// below will show specific reasons.
|
|
DISALLOWED_BY_ARC_DISALLOWED,
|
|
// Disallowed because ARC++ is disabled by policy.
|
|
DISALLOWED_BY_ARC_POLICY,
|
|
// Disallowed because user's locale is not compatible.
|
|
DISALLOWED_BY_LOCALE,
|
|
// Disallowed because the feature flag is off.
|
|
DISALLOWED_BY_FLAG,
|
|
// Disallowed because current user is not primary user.
|
|
DISALLOWED_BY_NONPRIMARY_USER,
|
|
// Disallowed because current user is supervised user.
|
|
DISALLOWED_BY_SUPERVISED_USER,
|
|
// Disallowed because incognito mode.
|
|
DISALLOWED_BY_INCOGNITO
|
|
};
|
|
|
|
// Allows observing changes to voice interaction status and settings.
|
|
interface VoiceInteractionObserver {
|
|
// Called when voice interaction session state changes.
|
|
OnVoiceInteractionStatusChanged(VoiceInteractionState state);
|
|
|
|
// Called when voice interaction is enabled/disabled in settings.
|
|
OnVoiceInteractionSettingsEnabled(bool enabled);
|
|
|
|
// Called when voice interaction service is allowed/disallowed to access
|
|
// the "context" (text and graphic content that is currently on screen).
|
|
OnVoiceInteractionContextEnabled(bool enabled);
|
|
|
|
// Called when hotword listening is enabled/disabled.
|
|
OnVoiceInteractionHotwordEnabled(bool enabled);
|
|
|
|
// Called when voice interaction setup flow completed.
|
|
OnVoiceInteractionSetupCompleted(bool completed);
|
|
|
|
// Called when assistant feature allowed state has changed.
|
|
OnAssistantFeatureAllowedChanged(AssistantAllowedState state);
|
|
};
|
|
|
|
// Interface for ash client (Chrome) to connect to the voice interaction
|
|
// controller, which notifies changes of voice interaction related flags.
|
|
interface VoiceInteractionController {
|
|
// Called when the voice interaction state is changed.
|
|
NotifyStatusChanged(VoiceInteractionState state);
|
|
|
|
// Called when the voice interaction settings is enabled/disabled.
|
|
NotifySettingsEnabled(bool enabled);
|
|
|
|
// Called when the voice interaction context is enabled/disabled.
|
|
// If context is enabled the screenshot will be passed in voice
|
|
// interaction session.
|
|
NotifyContextEnabled(bool enabled);
|
|
|
|
// Called when the hotword listening is enabled/disabled.
|
|
NotifyHotwordEnabled(bool enabled);
|
|
|
|
// Called when the voice interaction setup complete status is changed.
|
|
NotifySetupCompleted(bool completed);
|
|
|
|
// Notify if voice interaction feature is allowed or not. e.g. not allowed
|
|
// if disabled by policy.
|
|
NotifyFeatureAllowed(AssistantAllowedState state);
|
|
|
|
// Called when the notification is enabled/disabled.
|
|
NotifyNotificationEnabled(bool enabled);
|
|
|
|
// Return if the voice interaction setting is enabled/disabled.
|
|
IsSettingEnabled() => (bool enabled);
|
|
|
|
// Return the voice interaction setup complete status.
|
|
IsSetupCompleted() => (bool completed);
|
|
|
|
// Return if the user has granted permission to access screen "context", the
|
|
// text and graphics content that is currently on screen.
|
|
IsContextEnabled() => (bool enabled);
|
|
|
|
// Return the voice interaction hotword listening status.
|
|
IsHotwordEnabled() => (bool enabled);
|
|
|
|
// Add an observer.
|
|
AddObserver(VoiceInteractionObserver observer);
|
|
};
|