1 // Copyright 2015 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 #ifndef SYNC_UTIL_MOCK_UNRECOVERABLE_ERROR_HANDLER_H_
6 #define SYNC_UTIL_MOCK_UNRECOVERABLE_ERROR_HANDLER_H_
10 #include "base/macros.h"
11 #include "base/memory/weak_ptr.h"
12 #include "sync/internal_api/public/util/unrecoverable_error_handler.h"
16 // Mock implementation of UnrecoverableErrorHandler that counts how many times
17 // it has been invoked.
18 class MockUnrecoverableErrorHandler
: public UnrecoverableErrorHandler
{
20 MockUnrecoverableErrorHandler();
21 ~MockUnrecoverableErrorHandler() override
;
22 void OnUnrecoverableError(const tracked_objects::Location
& from_here
,
23 const std::string
& message
) override
;
25 // Returns the number of times this handler has been invoked.
26 int invocation_count() const;
28 base::WeakPtr
<MockUnrecoverableErrorHandler
> GetWeakPtr();
31 int invocation_count_
;
33 base::WeakPtrFactory
<MockUnrecoverableErrorHandler
> weak_ptr_factory_
;
35 DISALLOW_COPY_AND_ASSIGN(MockUnrecoverableErrorHandler
);
40 #endif // SYNC_UTIL_MOCK_UNRECOVERABLE_ERROR_HANDLER_H_