1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef ASH_ASSISTANT_ASSISTANT_VIEW_DELEGATE_IMPL_H_
#define ASH_ASSISTANT_ASSISTANT_VIEW_DELEGATE_IMPL_H_
#include <string>
#include "ash/assistant/ui/assistant_view_delegate.h"
#include "base/memory/raw_ptr.h"
namespace ash {
class AssistantControllerImpl;
class AssistantViewDelegateImpl : public AssistantViewDelegate {
public:
explicit AssistantViewDelegateImpl(
AssistantControllerImpl* assistant_controller);
AssistantViewDelegateImpl(const AssistantViewDelegateImpl&) = delete;
AssistantViewDelegateImpl& operator=(const AssistantViewDelegateImpl&) =
delete;
~AssistantViewDelegateImpl() override;
// AssistantViewDelegate:
const AssistantNotificationModel* GetNotificationModel() const override;
void AddObserver(AssistantViewDelegateObserver* observer) override;
void RemoveObserver(AssistantViewDelegateObserver* observer) override;
void DownloadImage(const GURL& url,
ImageDownloader::DownloadCallback callback) override;
::wm::CursorManager* GetCursorManager() override;
std::string GetPrimaryUserGivenName() const override;
aura::Window* GetRootWindowForDisplayId(int64_t display_id) override;
aura::Window* GetRootWindowForNewWindows() override;
bool IsTabletMode() const override;
void OnDialogPlateButtonPressed(AssistantButtonId id) override;
void OnDialogPlateContentsCommitted(const std::string& text) override;
void OnNotificationButtonPressed(const std::string& notification_id,
int notification_button_index) override;
void OnOnboardingShown() override;
void OnOptInButtonPressed() override;
void OnSuggestionPressed(
const base::UnguessableToken& suggestion_id) override;
bool ShouldShowOnboarding() const override;
void OnLauncherSearchChipPressed(std::u16string_view query) override;
private:
const raw_ptr<AssistantControllerImpl> assistant_controller_;
base::ObserverList<AssistantViewDelegateObserver> view_delegate_observers_;
};
} // namespace ash
#endif // ASH_ASSISTANT_ASSISTANT_VIEW_DELEGATE_IMPL_H_
|