17c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// Copyright 2012 Google Inc. All Rights Reserved. 27c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// 37c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// Licensed under the Apache License, Version 2.0 (the "License"); 47c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// you may not use this file except in compliance with the License. 57c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// You may obtain a copy of the License at 67c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// 77c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// http://www.apache.org/licenses/LICENSE-2.0 87c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// 97c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// Unless required by applicable law or agreed to in writing, software 107c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// distributed under the License is distributed on an "AS IS" BASIS, 117c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// See the License for the specific language governing permissions and 137c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// limitations under the License. 147c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 157c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#ifndef TV_GTVREMOTE_TESTS_POLO_WIRE_MOCKS_H_ 167c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#define TV_GTVREMOTE_TESTS_POLO_WIRE_MOCKS_H_ 177c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 187c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#include <gmock/gmock.h> 197c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#include <polo/wire/polowireinterface.h> 207c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#include <polo/wire/polowireadapter.h> 217c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#include <vector> 227c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 237c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetnamespace polo { 247c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetnamespace wire { 257c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 267c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// A mock PoloWireInterface. 277c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetclass MockWireInterface : public PoloWireInterface { 287c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet public: 297c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(Send, void(const std::vector<uint8_t>& data)); 307c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(Receive, void(size_t num_bytes)); 317c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet}; 327c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 337c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet// A mock PoloWireAdapter. 347c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetclass MockWireAdapter : public PoloWireAdapter { 357c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet public: 367c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet explicit MockWireAdapter(PoloWireInterface* interface) 377c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet : PoloWireAdapter(interface) { 387c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet } 397c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 407c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD0(GetNextMessage, void()); 417c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendConfigurationMessage, 427c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::ConfigurationMessage& message)); 437c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendConfigurationAckMessage, 447c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::ConfigurationAckMessage& message)); 457c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendOptionsMessage, 467c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::OptionsMessage& message)); 477c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendPairingRequestMessage, 487c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::PairingRequestMessage& message)); 497c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendPairingRequestAckMessage, 507c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::PairingRequestAckMessage& message)); 517c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendSecretMessage, 527c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::SecretMessage& message)); 537c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendSecretAckMessage, 547c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet void(const pairing::message::SecretAckMessage& message)); 557c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(SendErrorMessage, void(pairing::PoloError error)); 567c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD1(OnBytesReceived, void(const std::vector<uint8_t>& data)); 577c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet MOCK_METHOD0(OnError, void()); 587c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet}; 597c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 607c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet} // namespace wire 617c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet} // namespace polo 627c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 637c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet 647c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#endif // TV_GTVREMOTE_TESTS_POLO_WIRE_MOCKS_H_ 65