blob: c180441d26c4da31294d50cfeb75c2662b253647 [file] [log] [blame]
// Copyright 2017 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 IOS_WEB_NAVIGATION_NAVIGATION_ITEM_STORAGE_BUILDER_H_
#define IOS_WEB_NAVIGATION_NAVIGATION_ITEM_STORAGE_BUILDER_H_
#include <memory>
@class CRWNavigationItemStorage;
namespace web {
class NavigationItemImpl;
// Class that can serialize and deserialize NavigationItems.
class NavigationItemStorageBuilder {
public:
// Creates a serialized NavigationItem from |navigation_Item|.
CRWNavigationItemStorage* BuildStorage(
NavigationItemImpl* navigation_item) const;
// Creates a NavigationItem from |navigation_Item_storage|.
std::unique_ptr<NavigationItemImpl> BuildNavigationItemImpl(
CRWNavigationItemStorage* navigation_item_storage) const;
};
} // namespace web
#endif // IOS_WEB_NAVIGATION_NAVIGATION_ITEM_STORAGE_BUILDER_H_