1ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal/* 2ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * Copyright (C) 2016 The Android Open Source Project 3ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * 4ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * Licensed under the Apache License, Version 2.0 (the "License"); 5ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * you may not use this file except in compliance with the License. 6ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * You may obtain a copy of the License at 7ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * 8ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * http://www.apache.org/licenses/LICENSE-2.0 9ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * 10ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * Unless required by applicable law or agreed to in writing, software 11ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * distributed under the License is distributed on an "AS IS" BASIS, 12ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * See the License for the specific language governing permissions and 14ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal * limitations under the License. 15ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal */ 16ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 17ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal#ifndef TESTS_MOCK_RAW_OS_H_ 18ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal#define TESTS_MOCK_RAW_OS_H_ 19ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 20ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal#include "android-base/macros.h" 21ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal#include "gmock/gmock.h" 22ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 23ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal#include "wifilogd/raw_os.h" 24ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 25ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawalnamespace android { 26ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawalnamespace wifilogd { 27ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 28ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawalclass MockRawOs : public RawOs { 29ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal public: 30ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal MockRawOs(); 31ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal virtual ~MockRawOs(); 32ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 33ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal MOCK_CONST_METHOD2(ClockGettime, 34ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal int(clockid_t clock_id, struct timespec* tspec)); 35a5bb08c1cf8a8d1ff097fa7a050d7787e9821c6amukesh agrawal MOCK_METHOD1(GetControlSocket, int(const char* socket_name)); 36960c8a88c83c55c21a3286628591a41d2fb42231mukesh agrawal MOCK_METHOD2(Nanosleep, 37960c8a88c83c55c21a3286628591a41d2fb42231mukesh agrawal int(const struct timespec* req, struct timespec* rem)); 38d75fd9e9b73995a6303ae99977ab1baf9db9b42fmukesh agrawal MOCK_METHOD4(Recv, ssize_t(int sockfd, void* buf, size_t buflen, int flags)); 39b8f8f6ab38fe147fa7aed5cdd9f9ce0e5a3a2e2fmukesh agrawal MOCK_METHOD3(Write, ssize_t(int fd, const void* buf, size_t buflen)); 40ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 41ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal private: 42ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal DISALLOW_COPY_AND_ASSIGN(MockRawOs); 43ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal}; 44ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 45ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal} // namespace wifilogd 46ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal} // namespace android 47ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal 48ec533e0f59b7e88bac734d538f596ab095bc74camukesh agrawal#endif // TESTS_MOCK_RAW_OS_H_ 49