// Copyright (c) 2010 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_REMOVE_ROWS_TABLE_MODEL_H_
#define CHROME_BROWSER_REMOVE_ROWS_TABLE_MODEL_H_
#pragma once
#include <set>
#include "ui/base/models/table_model.h"
// A table model that also supports removing rows. Used for example for the
// content settings exception dialog for geolocation.
class RemoveRowsTableModel : public ui::TableModel {
public:
typedef std::set<size_t> Rows;
// Returns whether or not the rows can be removed.
virtual bool CanRemoveRows(const Rows& rows) const = 0;
// Remove the rows from the table.
virtual void RemoveRows(const Rows& rows) = 0;
// Removes all the rows.
virtual void RemoveAll() = 0;
};
#endif // CHROME_BROWSER_REMOVE_ROWS_TABLE_MODEL_H_