Coverage Report

Created: 2025-12-18 07:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibShell/Execution.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
3
 *
4
 * SPDX-License-Identifier: BSD-2-Clause
5
 */
6
7
#pragma once
8
9
#include "Forward.h"
10
#include <AK/Forward.h>
11
#include <AK/Vector.h>
12
#include <LibCore/ElapsedTimer.h>
13
14
namespace Shell {
15
16
class FileDescriptionCollector {
17
public:
18
0
    FileDescriptionCollector() = default;
19
    ~FileDescriptionCollector();
20
21
    void collect();
22
    void add(int fd);
23
24
private:
25
    Vector<int, 32> m_fds;
26
};
27
28
class SavedFileDescriptors {
29
public:
30
    SavedFileDescriptors(Vector<NonnullRefPtr<AST::Rewiring>> const&);
31
    ~SavedFileDescriptors();
32
33
private:
34
    struct SavedFileDescriptor {
35
        int original { -1 };
36
        int saved { -1 };
37
    };
38
39
    Vector<SavedFileDescriptor> m_saves;
40
    FileDescriptionCollector m_collector;
41
};
42
43
}