1 // Copyright 2014 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. 4 5 #ifndef SYNC_INTERNAL_API_PUBLIC_TEST_NULL_SYNC_CORE_PROXY_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_TEST_NULL_SYNC_CORE_PROXY_H_ 7 8 #include "sync/internal_api/public/sync_core_proxy.h" 9 #include "base/memory/weak_ptr.h" 10 11 namespace syncer { 12 13 class NonBlockingTypeProcessor; 14 15 // A non-functional implementation of SyncCoreProxy. 16 // 17 // It supports Clone(), but not much else. Useful for testing. 18 class NullSyncCoreProxy : public SyncCoreProxy { 19 public: 20 NullSyncCoreProxy(); 21 virtual ~NullSyncCoreProxy(); 22 23 virtual void ConnectTypeToCore( 24 syncer::ModelType type, 25 const DataTypeState& data_type_state, 26 base::WeakPtr<NonBlockingTypeProcessor> processor) OVERRIDE; 27 virtual void Disconnect(syncer::ModelType type) OVERRIDE; 28 virtual scoped_ptr<SyncCoreProxy> Clone() const OVERRIDE; 29 }; 30 31 } // namespace syncer 32 33 #endif // SYNC_INTERNAL_API_PUBLIC_TEST_NULL_SYNC_CORE_PROXY_H_ 34