Project
Loading...
Searching...
No Matches
GPUDisplayGUIWrapper.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef GPUDISPLAYGUIWRAPPER_H
16#define GPUDISPLAYGUIWRAPPER_H
17
18#include "GPUCommonDef.h"
19#include <memory>
20
21namespace o2::gpu
22{
23struct GPUDisplayGUIChannel;
24namespace internal
25{
26struct GPUDisplayGUIWrapperObjects;
27} // namespace internal
28
29class GPUDisplayGUIWrapper
30{
31 public:
32 explicit GPUDisplayGUIWrapper(GPUDisplayGUIChannel& channel); // Starts the GUI thread, which owns the QApplication
34 bool isRunning() const;
35
36 int32_t start();
37 int32_t stop();
38 int32_t focus(); // Bring the GUI window to the front
39
40 private:
41 GPUDisplayGUIChannel& mChannel;
42 std::unique_ptr<internal::GPUDisplayGUIWrapperObjects> mO;
43
44 void guiThread();
45};
46} // namespace o2::gpu
47#endif // GPUDISPLAYGUIWRAPPER_H
GPUDisplayGUIWrapper(GPUDisplayGUIChannel &channel)