Skip to content

Commit f22648c

Browse files
Update remaining users of EnumStringConverters to use helper macros
Summary: The ENUM_CONVERTER macros help reduce boilerplate code. Let's use them. Differential Revision: D77471130 fbshipit-source-id: d3976b7a730ad92902a9ddc20a0464d6627a3134
1 parent 2f0fc07 commit f22648c

4 files changed

Lines changed: 17 additions & 37 deletions

File tree

tools/vrsplayer/FileReader.cpp

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,9 @@
5858
#define FIXED_3 fixed << setprecision(3)
5959

6060
namespace {
61+
using namespace vrs;
6162
std::string_view sStateNames[] = {"UNDEFINED", "NO_MEDIA", "PAUSED", "PLAYING", "ERROR"};
62-
63-
struct FileReaderStateConverter : public vrs::EnumStringConverter<
64-
FileReaderState,
65-
sStateNames,
66-
vrs::array_size(sStateNames),
67-
FileReaderState::Undefined,
68-
FileReaderState::Undefined> {
69-
static_assert(
70-
cNamesCount == vrs::enumCount<FileReaderState>(),
71-
"Missing FileReaderState name definitions");
72-
};
63+
ENUM_STRING_CONVERTER(FileReaderState, sStateNames, FileReaderState::Undefined);
7364

7465
QString kLastMaxPerRow("last_max_per_row");
7566
QString kVisibleStreams("visible_streams");

tools/vrsplayer/PlayerWindow.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,14 @@ using namespace vrsp;
2828
using namespace std;
2929

3030
namespace {
31+
using namespace vrs;
3132
string_view sAudioModeNames[] = {"mono", "stereo-auto", "stereo-manual"};
32-
33-
struct AudioModeConverter : public vrs::EnumStringConverter<
34-
AudioMode,
35-
sAudioModeNames,
36-
vrs::array_size(sAudioModeNames),
37-
AudioMode::autoStereo,
38-
AudioMode::autoStereo,
39-
true> {};
33+
ENUM_STRING_CONVERTER3(
34+
AudioMode,
35+
sAudioModeNames,
36+
AudioMode::autoStereo,
37+
AudioMode::autoStereo,
38+
true);
4039
} // namespace
4140

4241
inline QKeySequence shortcut(int keyA, int keyB, int keyC = 0) {
@@ -365,6 +364,9 @@ void PlayerWindow::setAudioMode(AudioMode audioMode) {
365364
case AudioMode::manualStereo:
366365
// Nothing to do
367366
break;
367+
368+
case AudioMode::COUNT:
369+
break;
368370
}
369371

370372
emit player_.selectedAudioChannelsChanged(leftAudioChannel_, rightAudioChannel_);

tools/vrsplayer/PlayerWindow.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ enum class AudioMode {
3232
mono = 0, // same audio channel sent to all output channels
3333
autoStereo = 1, // successive audio channels sent as left-right stereo pair
3434
manualStereo = 2, // arbitrary channels selected to be sent as stereo pair
35+
36+
COUNT
3537
};
3638

3739
class PlayerWindow : public QMainWindow {

vrs/FileHandler.cpp

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
using namespace std;
3434

3535
namespace {
36+
using namespace vrs;
3637
using vrs::CachingStrategy;
3738

3839
string_view sCachingStrategyNames[] = {
@@ -42,16 +43,7 @@ string_view sCachingStrategyNames[] = {
4243
"StreamingBidirectional",
4344
"StreamingBackward",
4445
"ReleaseAfterRead"};
45-
struct CachingStrategyConverter : public vrs::EnumStringConverter<
46-
CachingStrategy,
47-
sCachingStrategyNames,
48-
vrs::array_size(sCachingStrategyNames),
49-
CachingStrategy::Undefined,
50-
CachingStrategy::Undefined> {
51-
static_assert(
52-
cNamesCount == vrs::enumCount<CachingStrategy>(),
53-
"Missing CachingStrategy name definitions");
54-
};
46+
ENUM_STRING_CONVERTER(CachingStrategy, sCachingStrategyNames, CachingStrategy::Undefined);
5547

5648
} // namespace
5749

@@ -123,13 +115,6 @@ bool FileHandler::isFileHandlerMatch(const FileSpec& fileSpec) const {
123115
return fileSpec.fileHandlerName.empty() || getFileHandlerName() == fileSpec.fileHandlerName;
124116
}
125117

126-
string toString(CachingStrategy cachingStrategy) {
127-
return CachingStrategyConverter::toString(cachingStrategy);
128-
}
129-
130-
template <>
131-
CachingStrategy toEnum<>(const string& name) {
132-
return CachingStrategyConverter::toEnumNoCase(name.c_str());
133-
}
118+
DEFINE_ENUM_CONVERTERS(CachingStrategy);
134119

135120
} // namespace vrs

0 commit comments

Comments
 (0)