From 7e07daf8cb8dd19f386e121cba989013ba86407c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 3 Jan 2013 11:01:02 +0100 Subject: ls: convert to C++ --- src/ls.c | 100 ----------------------------------------------------------- src/ls.cxx | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 100 deletions(-) delete mode 100644 src/ls.c create mode 100644 src/ls.cxx (limited to 'src') diff --git a/src/ls.c b/src/ls.c deleted file mode 100644 index 90e5fc66e..000000000 --- a/src/ls.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2003-2011 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. - */ - -#include "config.h" -#include "ls.h" -#include "uri.h" -#include "client.h" - -#include - -#include -#include - - -/** - * file:// is not included in remoteUrlPrefixes, the connection method - * is detected at runtime and displayed as a urlhandler if the client is - * connected by IPC socket. - */ -static const char *remoteUrlPrefixes[] = { -#if defined(ENABLE_CURL) || defined(ENABLE_SOUP) - "http://", -#endif -#ifdef ENABLE_MMS - "mms://", - "mmsh://", - "mmst://", - "mmsu://", -#endif -#ifdef HAVE_FFMPEG - "gopher://", - "rtp://", - "rtsp://", - "rtmp://", - "rtmpt://", - "rtmps://", -#endif -#ifdef ENABLE_CDIO_PARANOIA - "cdda://", -#endif -#ifdef ENABLE_DESPOTIFY - "spt://", -#endif - NULL -}; - -void print_supported_uri_schemes_to_fp(FILE *fp) -{ - const char **prefixes = remoteUrlPrefixes; - -#ifdef HAVE_UN - fprintf(fp, " file://"); -#endif - while (*prefixes) { - fprintf(fp, " %s", *prefixes); - prefixes++; - } - fprintf(fp,"\n"); -} - -void print_supported_uri_schemes(struct client *client) -{ - const char **prefixes = remoteUrlPrefixes; - - while (*prefixes) { - client_printf(client, "handler: %s\n", *prefixes); - prefixes++; - } -} - -bool uri_supported_scheme(const char *uri) -{ - const char **urlPrefixes = remoteUrlPrefixes; - - assert(uri_has_scheme(uri)); - - while (*urlPrefixes) { - if (g_str_has_prefix(uri, *urlPrefixes)) - return true; - urlPrefixes++; - } - - return false; -} diff --git a/src/ls.cxx b/src/ls.cxx new file mode 100644 index 000000000..00edb2bb5 --- /dev/null +++ b/src/ls.cxx @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2003-2013 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. + */ + +#include "config.h" + +extern "C" { +#include "ls.h" +#include "uri.h" +#include "client.h" +} + +#include + +#include +#include + + +/** + * file:// is not included in remoteUrlPrefixes, the connection method + * is detected at runtime and displayed as a urlhandler if the client is + * connected by IPC socket. + */ +static const char *remoteUrlPrefixes[] = { +#if defined(ENABLE_CURL) || defined(ENABLE_SOUP) + "http://", +#endif +#ifdef ENABLE_MMS + "mms://", + "mmsh://", + "mmst://", + "mmsu://", +#endif +#ifdef HAVE_FFMPEG + "gopher://", + "rtp://", + "rtsp://", + "rtmp://", + "rtmpt://", + "rtmps://", +#endif +#ifdef ENABLE_CDIO_PARANOIA + "cdda://", +#endif +#ifdef ENABLE_DESPOTIFY + "spt://", +#endif + NULL +}; + +void print_supported_uri_schemes_to_fp(FILE *fp) +{ + const char **prefixes = remoteUrlPrefixes; + +#ifdef HAVE_UN + fprintf(fp, " file://"); +#endif + while (*prefixes) { + fprintf(fp, " %s", *prefixes); + prefixes++; + } + fprintf(fp,"\n"); +} + +void print_supported_uri_schemes(struct client *client) +{ + const char **prefixes = remoteUrlPrefixes; + + while (*prefixes) { + client_printf(client, "handler: %s\n", *prefixes); + prefixes++; + } +} + +bool uri_supported_scheme(const char *uri) +{ + const char **urlPrefixes = remoteUrlPrefixes; + + assert(uri_has_scheme(uri)); + + while (*urlPrefixes) { + if (g_str_has_prefix(uri, *urlPrefixes)) + return true; + urlPrefixes++; + } + + return false; +} -- cgit v1.2.3