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 virtual ~InternalComponentsFactoryImpl();
22 virtual scoped_ptr
<SyncScheduler
> BuildScheduler(
23 const std::string
& name
,
24 sessions::SyncSessionContext
* context
,
25 syncer::CancelationSignal
* cancelation_signal
) OVERRIDE
;
27 virtual 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 TrafficRecorder
* traffic_recorder
,
34 ModelTypeRegistry
* model_type_registry
,
35 const std::string
& invalidator_client_id
) OVERRIDE
;
37 virtual scoped_ptr
<syncable::DirectoryBackingStore
>
38 BuildDirectoryBackingStore(
39 const std::string
& dir_name
,
40 const base::FilePath
& backing_filepath
) OVERRIDE
;
42 virtual Switches
GetSwitches() const OVERRIDE
;
45 const Switches switches_
;
46 DISALLOW_COPY_AND_ASSIGN(InternalComponentsFactoryImpl
);
51 #endif // SYNC_INTERNAL_API_PUBLIC_INTERNAL_COMPONENTS_FACTORY_IMPL_H_