diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-05-01 01:31:35 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-05-01 01:31:35 +0200 |
| commit | 8963f0007af1a312017b9627c18b82ec2a577591 (patch) | |
| tree | baeb6f2c17da72248408b8c1d695242b44edda9e /src/lib/file_group.cc | |
| parent | 29f84e2b8785585885e0658bdf9938967547460f (diff) | |
C++11 tidying.
Diffstat (limited to 'src/lib/file_group.cc')
| -rw-r--r-- | src/lib/file_group.cc | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/lib/file_group.cc b/src/lib/file_group.cc index aaf94acf4..7dae1da92 100644 --- a/src/lib/file_group.cc +++ b/src/lib/file_group.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2020 Carl Hetherington <cth@carlh.net> + Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -18,51 +18,49 @@ */ + /** @file src/lib/file_group.cc * @brief FileGroup class. */ -#include "file_group.h" -#include "exceptions.h" -#include "cross.h" + #include "compose.hpp" +#include "cross.h" #include "dcpomatic_assert.h" +#include "exceptions.h" +#include "file_group.h" #include <sndfile.h> #include <cstdio> + using std::vector; + /** Construct a FileGroup with no files */ FileGroup::FileGroup () - : _current_path (0) - , _current_file (0) - , _current_size (0) - , _position (0) { } + /** Construct a FileGroup with a single file */ FileGroup::FileGroup (boost::filesystem::path p) - : _current_path (0) - , _current_file (0) - , _current_size (0) { _paths.push_back (p); ensure_open_path (0); seek (0, SEEK_SET); } + /** Construct a FileGroup with multiple files */ FileGroup::FileGroup (vector<boost::filesystem::path> const & p) : _paths (p) - , _current_path (0) - , _current_file (0) { ensure_open_path (0); seek (0, SEEK_SET); } + /** Destroy a FileGroup, closing any open file */ FileGroup::~FileGroup () { @@ -71,6 +69,7 @@ FileGroup::~FileGroup () } } + void FileGroup::set_paths (vector<boost::filesystem::path> const & p) { @@ -79,6 +78,7 @@ FileGroup::set_paths (vector<boost::filesystem::path> const & p) seek (0, SEEK_SET); } + /** Ensure that the given path index in the content is the _current_file */ void FileGroup::ensure_open_path (size_t p) const @@ -94,12 +94,13 @@ FileGroup::ensure_open_path (size_t p) const _current_path = p; _current_file = fopen_boost (_paths[_current_path], "rb"); - if (_current_file == 0) { + if (!_current_file) { throw OpenFileError (_paths[_current_path], errno, OpenFileError::READ); } _current_size = boost::filesystem::file_size (_paths[_current_path]); } + int64_t FileGroup::seek (int64_t pos, int whence) const { @@ -138,6 +139,7 @@ FileGroup::seek (int64_t pos, int whence) const return _position; } + /** Try to read some data from the current position into a buffer. * @param buffer Buffer to write data into. * @param amount Number of bytes to read. @@ -195,6 +197,7 @@ FileGroup::read (uint8_t* buffer, int amount) const return read; } + /** @return Combined length of all the files */ int64_t FileGroup::length () const |
