aboutsummaryrefslogtreecommitdiff
path: root/src/common/io/ProxyStream.cpp
blob: 9fd6be7661caedf44e64a396dac8485cc860f339 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "cru/common/io/ProxyStream.h"
#include "cru/common/io/Stream.h"

namespace cru::io {
ProxyStream::ProxyStream(ProxyStreamHandlers handlers)
    : closed_(false), handlers_(std::move(handlers)) {}

ProxyStream::~ProxyStream() { DoClose(); }

void ProxyStream::DoClose() {
  if (!closed_) {
    if (handlers_.close) {
      handlers_.close();
    }
    closed_ = true;
  }
}
}  // namespace cru::io