Deluge Firmware 1.3.0
Build date: 2026.10.14
Loading...
Searching...
No Matches
default_name.h
1/*
2 * Copyright © 2014-2023 Synthstrom Audible Limited
3 *
4 * This file is part of The Synthstrom Audible Deluge Firmware.
5 *
6 * The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7 * terms of the GNU General Public License as published by the Free Software Foundation,
8 * either version 3 of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along with this program.
15 * If not, see <https://www.gnu.org/licenses/>.
16 */
17
18#pragma once
19
20#include <cstdint>
21#include <string>
22#include <string_view>
23
24namespace deluge::gui::browser {
25
37public:
38 virtual ~FileListView() = default;
39
47 virtual std::string highestNumberedName(char const* prefix) const = 0;
48
55 virtual uint32_t takenLetterSuffixes(char const* stem) const = 0;
56};
57
60inline constexpr char kNumericSuffixDelimiter = ' ';
61
70char const* numberPartOf(char const* name, char const* filePrefix);
71
91std::string nextDefaultName(std::string_view currentName, std::string_view slotPrefix, FileListView const& files);
92
93} // namespace deluge::gui::browser
Read-only view over the files on the card, so name derivation can be tested without a card,...
Definition default_name.h:36
virtual uint32_t takenLetterSuffixes(char const *stem) const =0
Reports which single-letter variations of a name already exist.
virtual std::string highestNumberedName(char const *prefix) const =0
Finds the highest-numbered member of the "<prefix><digits>" name family.