xref: /aosp_15_r20/external/mesa3d/src/gfxstream/guest/platform/include/Sync.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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