1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // An InternalComponentsFactory implementation designed for real production /
8 #ifndef SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_
9 #define SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_
11 #include "sync/base/sync_export.h"
12 #include "sync/internal_api/public/internal_components_factory.h"
16 class SYNC_EXPORT InternalComponentsFactoryImpl
17 : public InternalComponentsFactory
{
19 InternalComponentsFactoryImpl(const Switches
& switches
);
20 ~InternalComponentsFactoryImpl() override
;
22 scoped_ptr
<SyncScheduler
> BuildScheduler(
23 const std::string
& name
,
24 sessions::SyncSessionContext
* context
,
25 syncer::CancelationSignal
* cancelation_signal
) override
;
27 scoped_ptr
<sessions::SyncSessionContext
> BuildContext(
28 ServerConnectionManager
* connection_manager
,
29 syncable::Directory
* directory
,
30 ExtensionsActivity
* extensions_activity
,
31 const std::vector
<SyncEngineEventListener
*>& listeners
,
32 sessions::DebugInfoGetter
* debug_info_getter
,
33 ModelTypeRegistry
* model_type_registry
,
34 const std::string
& invalidator_client_id
) override
;
36 scoped_ptr
<syncable::DirectoryBackingStore
> BuildDirectoryBackingStore(
37 StorageOption storage
,
38 const std::string
& dir_name
,
39 const base::FilePath
& backing_filepath
) override
;
41 Switches
GetSwitches() const override
;
44 const Switches switches_
;
45 DISALLOW_COPY_AND_ASSIGN(InternalComponentsFactoryImpl
);
50 #endif // SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_