Deluge Firmware
1.3.0
Build date: 2026.10.14
Toggle main menu visibility
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
24
namespace
deluge::gui::browser {
25
36
class
FileListView
{
37
public
:
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
60
inline
constexpr
char
kNumericSuffixDelimiter =
' '
;
61
70
char
const
* numberPartOf(
char
const
* name,
char
const
* filePrefix);
71
91
std::string nextDefaultName(std::string_view currentName, std::string_view slotPrefix,
FileListView
const
& files);
92
93
}
// namespace deluge::gui::browser
deluge::gui::browser::FileListView
Read-only view over the files on the card, so name derivation can be tested without a card,...
Definition
default_name.h:36
deluge::gui::browser::FileListView::takenLetterSuffixes
virtual uint32_t takenLetterSuffixes(char const *stem) const =0
Reports which single-letter variations of a name already exist.
deluge::gui::browser::FileListView::highestNumberedName
virtual std::string highestNumberedName(char const *prefix) const =0
Finds the highest-numbered member of the "<prefix><digits>" name family.