12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_SOCKET_H_
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_SOCKET_H_
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string>
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "device/bluetooth/bluetooth_socket.h"
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "device/bluetooth/bluetooth_uuid.h"
12c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "net/base/io_buffer.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gmock/include/gmock/gmock.h"
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace device {
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class MockBluetoothSocket : public BluetoothSocket {
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public:
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  MockBluetoothSocket();
20c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  MOCK_METHOD0(Close, void());
21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)  MOCK_METHOD1(Disconnect, void(const base::Closure& success_callback));
22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  MOCK_METHOD3(Receive,
23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch               void(int count,
24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                    const ReceiveCompletionCallback& success_callback,
25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                    const ReceiveErrorCompletionCallback& error_callback));
26c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  MOCK_METHOD4(Send,
27c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch               void(scoped_refptr<net::IOBuffer> buffer,
28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                    int buffer_size,
29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                    const SendCompletionCallback& success_callback,
30c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                    const ErrorCompletionCallback& error_callback));
31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  MOCK_METHOD2(Accept,
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)               void(const AcceptCompletionCallback& success_callback,
33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                    const ErrorCompletionCallback& error_callback));
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) protected:
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual ~MockBluetoothSocket();
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace device
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_SOCKET_H_
42