chromium/components/offline_pages/core/offline_page_client_policy.h

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

#ifndef COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_PAGE_CLIENT_POLICY_H_
#define COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_PAGE_CLIENT_POLICY_H_

#include <stdint.h>

#include <string>
#include <vector>

#include "base/time/time.h"

namespace offline_pages {

static const size_t kUnlimitedPages =;

// Enum whose values specify the lifetime characteristics of pages pertaining to
// a given client.
enum class LifetimeType {};

// The struct describing policies for offline pages' clients (Bookmark, Last-N
// etc.) describing how their pages are handled by the offline page model.
struct OfflinePageClientPolicy {};

// Get the client policy for |name_space|.
const OfflinePageClientPolicy& GetPolicy(const std::string& name_space);
// Returns a list of all known namespaces.
const std::vector<std::string>& GetAllPolicyNamespaces();
// Returns a list of all temporary namespaces.
const std::vector<std::string>& GetTemporaryPolicyNamespaces();
// Returns a list of all persistent namespaces.
const std::vector<std::string>& GetPersistentPolicyNamespaces();

}  // namespace offline_pages

#endif  // COMPONENTS_OFFLINE_PAGES_CORE_OFFLINE_PAGE_CLIENT_POLICY_H_