1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file.
4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef SYNC_TEST_FAKE_SERVER_BOOKMARK_ENTITY_BUILDER_H_
6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define SYNC_TEST_FAKE_SERVER_BOOKMARK_ENTITY_BUILDER_H_
7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include <string>
9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/memory/scoped_ptr.h"
11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "sync/internal_api/public/base/model_type.h"
12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "sync/test/fake_server/entity_builder.h"
13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "sync/test/fake_server/fake_server_entity.h"
14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "url/gurl.h"
15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace fake_server {
17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Builder for BookmarkEntity objects.
19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class BookmarkEntityBuilder : public EntityBuilder {
20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) public:
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  BookmarkEntityBuilder(const std::string& title,
22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                        const GURL& url,
23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                        const std::string& originator_cache_guid,
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                        const std::string& originator_client_item_id);
25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual ~BookmarkEntityBuilder();
27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  // EntityBuilder
29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  virtual scoped_ptr<FakeServerEntity> Build() OVERRIDE;
30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) private:
32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  // The bookmark's URL.
33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  GURL url_;
34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  std::string originator_cache_guid_;
35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  std::string originator_client_item_id_;
36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)};
37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}  // namespace fake_server
39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)
40010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif  // SYNC_TEST_FAKE_SERVER_BOOKMARK_ENTITY_BUILDER_H_
41