diff options
author | Max Kellermann <max@duempel.org> | 2016-03-05 20:48:37 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2016-03-05 20:48:37 +0100 |
commit | c0bda1b1032050ce7d3dfca6926957bc3c34ee5a (patch) | |
tree | 183c0f1fb8dcf91e60563c28a3f729d0c12dafae /src/IdleFlags.cxx | |
parent | 0e87ce4680df5cc66225b7a20f1c09938ae885cd (diff) |
Idle: move flags to IdleFlags.hxx
Diffstat (limited to 'src/IdleFlags.cxx')
-rw-r--r-- | src/IdleFlags.cxx | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/IdleFlags.cxx b/src/IdleFlags.cxx new file mode 100644 index 000000000..31723de78 --- /dev/null +++ b/src/IdleFlags.cxx @@ -0,0 +1,67 @@ +/* + * Copyright 2003-2016 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/* + * Support library for the "idle" command. + * + */ + +#include "config.h" +#include "IdleFlags.hxx" +#include "util/ASCII.hxx" + +#include <assert.h> + +static const char *const idle_names[] = { + "database", + "stored_playlist", + "playlist", + "player", + "mixer", + "output", + "options", + "sticker", + "update", + "subscription", + "message", + "neighbor", + "mount", + nullptr +}; + +const char*const* +idle_get_names(void) +{ + return idle_names; +} + +unsigned +idle_parse_name(const char *name) +{ +#if !CLANG_CHECK_VERSION(3,6) + /* disabled on clang due to -Wtautological-pointer-compare */ + assert(name != nullptr); +#endif + + for (unsigned i = 0; idle_names[i] != nullptr; ++i) + if (StringEqualsCaseASCII(name, idle_names[i])) + return 1 << i; + + return 0; +} |