// chrome/common/search/search.mojom-test-utils.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_COMMON_SEARCH_SEARCH_MOJOM_TEST_UTILS_H_
#define CHROME_COMMON_SEARCH_SEARCH_MOJOM_TEST_UTILS_H_

#include "chrome/common/search/search.mojom.h"


namespace search::mojom {


class  EmbeddedSearchConnectorInterceptorForTesting : public EmbeddedSearchConnector {
  virtual EmbeddedSearchConnector* GetForwardingInterface() = 0;
  void Connect(::mojo::PendingAssociatedReceiver<EmbeddedSearch> embedded_search, ::mojo::PendingAssociatedRemote<EmbeddedSearchClient> client) override;
};
class  EmbeddedSearchConnectorAsyncWaiter {
 public:
  explicit EmbeddedSearchConnectorAsyncWaiter(EmbeddedSearchConnector* proxy);

  EmbeddedSearchConnectorAsyncWaiter(const EmbeddedSearchConnectorAsyncWaiter&) = delete;
  EmbeddedSearchConnectorAsyncWaiter& operator=(const EmbeddedSearchConnectorAsyncWaiter&) = delete;

  ~EmbeddedSearchConnectorAsyncWaiter();

 private:
  EmbeddedSearchConnector* const proxy_;
};


class  EmbeddedSearchInterceptorForTesting : public EmbeddedSearch {
  virtual EmbeddedSearch* GetForwardingInterface() = 0;
  void FocusOmnibox(int32_t page_seq_no, bool focus) override;
  void DeleteMostVisitedItem(int32_t page_seq_no, const ::GURL& url) override;
  void UndoAllMostVisitedDeletions(int32_t page_seq_no) override;
  void UndoMostVisitedDeletion(int32_t page_seq_no, const ::GURL& url) override;
};
class  EmbeddedSearchAsyncWaiter {
 public:
  explicit EmbeddedSearchAsyncWaiter(EmbeddedSearch* proxy);

  EmbeddedSearchAsyncWaiter(const EmbeddedSearchAsyncWaiter&) = delete;
  EmbeddedSearchAsyncWaiter& operator=(const EmbeddedSearchAsyncWaiter&) = delete;

  ~EmbeddedSearchAsyncWaiter();

 private:
  EmbeddedSearch* const proxy_;
};


class  EmbeddedSearchClientInterceptorForTesting : public EmbeddedSearchClient {
  virtual EmbeddedSearchClient* GetForwardingInterface() = 0;
  void SetPageSequenceNumber(int32_t page_seq_no) override;
  void FocusChanged(::OmniboxFocusState new_focus_state, ::OmniboxFocusChangeReason reason) override;
  void MostVisitedInfoChanged(const ::InstantMostVisitedInfo& most_visited_info) override;
  void SetInputInProgress(bool input_in_progress) override;
  void ThemeChanged(const ::NtpTheme& theme) override;
};
class  EmbeddedSearchClientAsyncWaiter {
 public:
  explicit EmbeddedSearchClientAsyncWaiter(EmbeddedSearchClient* proxy);

  EmbeddedSearchClientAsyncWaiter(const EmbeddedSearchClientAsyncWaiter&) = delete;
  EmbeddedSearchClientAsyncWaiter& operator=(const EmbeddedSearchClientAsyncWaiter&) = delete;

  ~EmbeddedSearchClientAsyncWaiter();

 private:
  EmbeddedSearchClient* const proxy_;
};




}  // search::mojom

#endif  // CHROME_COMMON_SEARCH_SEARCH_MOJOM_TEST_UTILS_H_