LeechCraft
0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
process.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <coroutine>
12
#include <QMetaObject>
13
#include <
util/sll/raiisignalconnection.h
>
14
#include "../threadsconfig.h"
15
16
class
QProcess;
17
18
namespace
LC::Util::detail
19
{
20
struct
UTIL_THREADS_API
ProcessAwaiter
21
{
22
QProcess&
Process_
;
23
24
RaiiSignalConnection
FinishedConn_ {};
25
RaiiSignalConnection
ErrorConn_ {};
26
27
bool
await_ready () const
noexcept
;
28
void
await_suspend (
std
::coroutine_handle<> handle)
noexcept
;
29
void
await_resume () const
noexcept
;
30
};
31
}
32
33
namespace
LC
34
{
35
UTIL_THREADS_API
Util::detail::ProcessAwaiter
operator
co_await (QProcess& process);
36
}
raiisignalconnection.h
UTIL_THREADS_API
#define UTIL_THREADS_API
Definition:
threadsconfig.h:16
std
STL namespace.
LC::Util::detail::ProcessAwaiter::Process_
QProcess & Process_
Definition:
process.h:22
LC::Util::detail::ProcessAwaiter
Definition:
process.h:20
LC::Util::RaiiSignalConnection
Definition:
raiisignalconnection.h:16
LC::Util::noexcept
auto Tup2 &&tup2 noexcept
Definition:
ctstringutils.h:68
LC::Util::detail
Definition:
fancytrayiconfreedesktop.cpp:23
LC
src
util
threads
coro
process.h
Generated by
1.8.14