1 /* 2 * Copyright 2023 Google 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #pragma once 7 8 #include <cstdint> 9 #include <stddef.h> 10 11 namespace gfxstream { 12 13 // Abstraction around libsync for testing. 14 class SyncHelper { 15 public: ~SyncHelper()16 virtual ~SyncHelper() {} 17 18 virtual int wait(int syncFd, int timeoutMilliseconds) = 0; 19 20 virtual void debugPrint(int syncFd) = 0; 21 22 virtual int dup(int syncFd) = 0; 23 24 virtual int close(int syncFd) = 0; 25 }; 26 27 SyncHelper* osCreateSyncHelper(); 28 SyncHelper* kumquatCreateSyncHelper(); 29 SyncHelper* createPlatformSyncHelper(); 30 31 } // namespace gfxstream 32