blob: 6e33b5faaee1bf30c707d8902faf9619edee745d [file] [log] [blame]
// Copyright 2019 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 CHROME_BROWSER_SEND_TAB_TO_SELF_RECEIVING_UI_HANDLER_H_
#define CHROME_BROWSER_SEND_TAB_TO_SELF_RECEIVING_UI_HANDLER_H_
#include <string>
#include <vector>
namespace send_tab_to_self {
class SendTabToSelfEntry;
// Interface implemented by platforms to handle changes to the SendTabToSelf
// model. sImplementors of this interface should override all functions and
// update the UI accordingly. They should also register themselves with the
// ReceivingUIRegistry.
class ReceivingUiHandler {
public:
ReceivingUiHandler() {}
virtual ~ReceivingUiHandler() {}
// Display the new entries passed in as an argument. The entries are owned by
// the model and should not be modified.
virtual void DisplayNewEntries(
const std::vector<const SendTabToSelfEntry*>& new_entries) = 0;
// Dismiss any UI associated with this entry.
// Entry object is owned by the the model and should not be
// modified by any implementors of this class.
virtual void DismissEntries(const std::vector<std::string>& guids) = 0;
};
} // namespace send_tab_to_self
#endif // CHROME_BROWSER_SEND_TAB_TO_SELF_RECEIVING_UI_HANDLER_H_