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