1c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
2c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// Copyright (C) 2013 The Android Open Source Project
3c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
4c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// Licensed under the Apache License, Version 2.0 (the "License");
5c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// you may not use this file except in compliance with the License.
6c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// You may obtain a copy of the License at
7c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
8c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//      http://www.apache.org/licenses/LICENSE-2.0
9c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
10c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// Unless required by applicable law or agreed to in writing, software
11c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// distributed under the License is distributed on an "AS IS" BASIS,
12c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// See the License for the specific language governing permissions and
14c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// limitations under the License.
15c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
169413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
1787602518c59af2f9e8288d81a1f877dd80f24433Ben Chan#ifndef SHILL_ETHERNET_MOCK_ETHERNET_SERVICE_H_
1887602518c59af2f9e8288d81a1f877dd80f24433Ben Chan#define SHILL_ETHERNET_MOCK_ETHERNET_SERVICE_H_
199413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
208a5322984f2d81bcbfd8d44c59747a11bd9b904bAlex Vakulenko#include <string>
218a5322984f2d81bcbfd8d44c59747a11bd9b904bAlex Vakulenko
229413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart#include <gmock/gmock.h>
239413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
2487602518c59af2f9e8288d81a1f877dd80f24433Ben Chan#include "shill/ethernet/ethernet_service.h"
259413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
269413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewartnamespace shill {
279413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
289413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewartclass MockEthernetService : public EthernetService {
299413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart public:
307e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  MockEthernetService(ControlInterface* control_interface, Metrics* metrics,
313de88a00f446215b3299fe5834d4f120863e3ac7Paul Stewart                      base::WeakPtr<Ethernet> ethernet);
325ea763b83299b5fad76a87183fb39a74c2d3c61dBen Chan  ~MockEthernetService() override;
339413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
347e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  MOCK_METHOD2(AddEAPCertification, bool(const std::string& name,
359413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart                                         size_t depth));
368a5322984f2d81bcbfd8d44c59747a11bd9b904bAlex Vakulenko  MOCK_METHOD0(ClearEAPCertification, void());
377e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  MOCK_METHOD2(Configure, void(const KeyValueStore& args, Error* error));
387e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  MOCK_METHOD2(Disconnect, void(Error* error, const char* reason));
390d06119be3224788ba1aa65ed24bc8e46b56b949Samuel Tan  MOCK_METHOD3(DisconnectWithFailure,
407e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart               void(ConnectFailure failure, Error* error, const char* reason));
417e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  MOCK_CONST_METHOD1(GetDeviceRpcId, std::string(Error* error));
429413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_CONST_METHOD0(GetStorageIdentifier, std::string());
439413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_CONST_METHOD0(Is8021xConnectable, bool());
449413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_CONST_METHOD0(IsConnected, bool());
459413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_CONST_METHOD0(IsConnecting, bool());
469413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_CONST_METHOD0(IsRemembered, bool());
479413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_METHOD1(SetFailure, void(ConnectFailure failure));
489413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_METHOD1(SetFailureSilent, void(ConnectFailure failure));
499413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  MOCK_METHOD1(SetState, void(ConnectState state));
503de88a00f446215b3299fe5834d4f120863e3ac7Paul Stewart  MOCK_METHOD0(OnVisibilityChanged, void());
5165a5672a129759458b87427488957cbbdb87e469Garret Kelly  MOCK_CONST_METHOD0(technology, Technology::Identifier());
529413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
539413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart private:
549413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart  DISALLOW_COPY_AND_ASSIGN(MockEthernetService);
559413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart};
569413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
579413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart}  // namespace shill
589413bcc8c3576eeab8f232253264dce4347bbb0cPaul Stewart
5987602518c59af2f9e8288d81a1f877dd80f24433Ben Chan#endif  // SHILL_ETHERNET_MOCK_ETHERNET_SERVICE_H_
60