aboutsummaryrefslogtreecommitdiffstats
path: root/configd/src/apps/sentinel/output-connection.h
blob: 04d1f61fb631ea0c5920a547d962e420b9896252 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include "line-splitter.h"

namespace ns_log { class LLParser; }

namespace config::sentinel {

class OutputConnection {
private:
    int _fd;
    LineSplitter _lines;
    ns_log::LLParser *_parser;

    // Unused constructors/assignment operator:
    OutputConnection();
    OutputConnection(const OutputConnection&);
    OutputConnection& operator =(const OutputConnection&);

public:
    explicit OutputConnection(int fd, ns_log::LLParser *p);
    ~OutputConnection();
    bool isFinished() const;
    void handleOutput();
    int fd() const { return _fd; }
};

}