blob: 33816fad049e983ba074027cdf1d698258ff081a [file] [log] [blame]
#ifndef LIB_LIBBUFFERHUB_PRIVATE_DVR_BUFFER_HUB_CLIENT_H_ // NOLINT
#define LIB_LIBBUFFERHUB_PRIVATE_DVR_BUFFER_HUB_CLIENT_H_
#include <gmock/gmock.h>
#include <gtest/gtest.h>
// TODO(jwcai) mock not need for now
class native_handle_t;
namespace android {
namespace dvr {
// TODO(jwcai) mock not need for now
class IonBuffer;
class BufferHubBuffer {
public:
MOCK_METHOD1(Poll, int(int timeout_ms));
MOCK_METHOD6(Lock, bool(int usage, int x, int y, int width, int height,
void** addr));
MOCK_METHOD0(Unlock, int());
MOCK_METHOD0(native_handle, native_handle_t*());
MOCK_METHOD0(buffer, IonBuffer*());
MOCK_METHOD0(event_fd, int());
MOCK_METHOD0(id, int());
MOCK_METHOD0(width, int());
MOCK_METHOD0(height, int());
MOCK_METHOD0(stride, int());
MOCK_METHOD0(format, int());
MOCK_METHOD0(usage, int());
};
class BufferProducer : public BufferHubBuffer {
public:
// Note that static method |CreateBuffer| and |Import| are not mocked
// here, they are just implementation details and thus not needed.
MOCK_METHOD2(Post, int(int ready_fence, uint64_t sequence));
MOCK_METHOD1(Gain, int(int* release_fence));
static BufferProducer* staticObject;
};
class BufferConsumer : public BufferHubBuffer {
public:
MOCK_METHOD2(Acquire, int(int* ready_fence, uint64_t* sequence));
MOCK_METHOD1(Release, int(int release_fence));
MOCK_METHOD0(Discard, int());
MOCK_METHOD3(DoAcquire,
int(int* ready_fence, void* meta, size_t meta_size_bytes));
static BufferConsumer* staticObject;
};
} // namespace dvr
} // namespace android
#endif // LIB_LIBBUFFERHUB_PRIVATE_DVR_BUFFER_HUB_CLIENT_H_ //NOLINT