|
Packit |
3ff1e7 |
/* libquvi
|
|
Packit |
3ff1e7 |
* Copyright (C) 2012-2013 Toni Gundogdu <legatvs@gmail.com>
|
|
Packit |
3ff1e7 |
*
|
|
Packit |
3ff1e7 |
* This file is part of libquvi <http://quvi.sourceforge.net/>.
|
|
Packit |
3ff1e7 |
*
|
|
Packit |
3ff1e7 |
* This library is free software: you can redistribute it and/or
|
|
Packit |
3ff1e7 |
* modify it under the terms of the GNU Affero General Public
|
|
Packit |
3ff1e7 |
* License as published by the Free Software Foundation, either
|
|
Packit |
3ff1e7 |
* version 3 of the License, or (at your option) any later version.
|
|
Packit |
3ff1e7 |
*
|
|
Packit |
3ff1e7 |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
3ff1e7 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
3ff1e7 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
3ff1e7 |
* GNU Affero General Public License for more details.
|
|
Packit |
3ff1e7 |
*
|
|
Packit |
3ff1e7 |
* You should have received a copy of the GNU Affero General
|
|
Packit |
3ff1e7 |
* Public License along with this library. If not, see
|
|
Packit |
3ff1e7 |
* <http://www.gnu.org/licenses/>.
|
|
Packit |
3ff1e7 |
*/
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
/** @file script_next.c */
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
#include "config.h"
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
#include <glib.h>
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
#include "quvi.h"
|
|
Packit |
3ff1e7 |
/* -- */
|
|
Packit |
3ff1e7 |
#include "_quvi_s.h"
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
/** @cond NODOC */
|
|
Packit |
3ff1e7 |
#ifdef _1
|
|
Packit |
3ff1e7 |
#define _W "libquvi: %s: %d"
|
|
Packit |
3ff1e7 |
#endif
|
|
Packit |
3ff1e7 |
/** @endcond */
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
/** @brief Traverse to the next script
|
|
Packit |
3ff1e7 |
@return QUVI_TRUE if succeeded, otherwise QUVI_FALSE
|
|
Packit |
3ff1e7 |
@ingroup script
|
|
Packit |
3ff1e7 |
*/
|
|
Packit |
3ff1e7 |
QuviBoolean quvi_script_next(quvi_t handle, QuviScriptType type)
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
QuviBoolean r;
|
|
Packit |
3ff1e7 |
GSList *l;
|
|
Packit |
3ff1e7 |
_quvi_t q;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
q = (_quvi_t) handle;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
/* If G_DISABLE_CHECKS is defined then the check is not performed. */
|
|
Packit |
3ff1e7 |
g_return_val_if_fail(handle != NULL, QUVI_FALSE);
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
switch (type)
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_SUBTITLE_EXPORT:
|
|
Packit |
3ff1e7 |
l = q->scripts.subtitle_export;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_SUBTITLE:
|
|
Packit |
3ff1e7 |
l = q->scripts.subtitle;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_PLAYLIST:
|
|
Packit |
3ff1e7 |
l = q->scripts.playlist;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
default:
|
|
Packit |
3ff1e7 |
#ifdef _1
|
|
Packit |
3ff1e7 |
g_warning(_W, __func__, (gint) type);
|
|
Packit |
3ff1e7 |
#endif
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_MEDIA:
|
|
Packit |
3ff1e7 |
l = q->scripts.media;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_SCAN:
|
|
Packit |
3ff1e7 |
l = q->scripts.scan;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
r = QUVI_FALSE;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
switch (type)
|
|
Packit |
3ff1e7 |
{
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_SUBTITLE_EXPORT:
|
|
Packit |
3ff1e7 |
q->scripts.curr.subtitle_export =
|
|
Packit |
3ff1e7 |
(q->scripts.curr.subtitle_export != NULL)
|
|
Packit |
3ff1e7 |
? g_slist_next(q->scripts.curr.subtitle_export)
|
|
Packit |
3ff1e7 |
: l;
|
|
Packit |
3ff1e7 |
r = (q->scripts.curr.subtitle_export != NULL)
|
|
Packit |
3ff1e7 |
? QUVI_TRUE
|
|
Packit |
3ff1e7 |
: QUVI_FALSE;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_SUBTITLE:
|
|
Packit |
3ff1e7 |
q->scripts.curr.subtitle = (q->scripts.curr.subtitle != NULL)
|
|
Packit |
3ff1e7 |
? g_slist_next(q->scripts.curr.subtitle)
|
|
Packit |
3ff1e7 |
: l;
|
|
Packit |
3ff1e7 |
r = (q->scripts.curr.subtitle != NULL)
|
|
Packit |
3ff1e7 |
? QUVI_TRUE
|
|
Packit |
3ff1e7 |
: QUVI_FALSE;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_PLAYLIST:
|
|
Packit |
3ff1e7 |
q->scripts.curr.playlist = (q->scripts.curr.playlist != NULL)
|
|
Packit |
3ff1e7 |
? g_slist_next(q->scripts.curr.playlist)
|
|
Packit |
3ff1e7 |
: l;
|
|
Packit |
3ff1e7 |
r = (q->scripts.curr.playlist != NULL)
|
|
Packit |
3ff1e7 |
? QUVI_TRUE
|
|
Packit |
3ff1e7 |
: QUVI_FALSE;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_MEDIA:
|
|
Packit |
3ff1e7 |
default:
|
|
Packit |
3ff1e7 |
q->scripts.curr.media = (q->scripts.curr.media != NULL)
|
|
Packit |
3ff1e7 |
? g_slist_next(q->scripts.curr.media)
|
|
Packit |
3ff1e7 |
: l;
|
|
Packit |
3ff1e7 |
r = (q->scripts.curr.media != NULL)
|
|
Packit |
3ff1e7 |
? QUVI_TRUE
|
|
Packit |
3ff1e7 |
: QUVI_FALSE;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
case QUVI_SCRIPT_TYPE_SCAN:
|
|
Packit |
3ff1e7 |
q->scripts.curr.scan = (q->scripts.curr.scan != NULL)
|
|
Packit |
3ff1e7 |
? g_slist_next(q->scripts.curr.scan)
|
|
Packit |
3ff1e7 |
: l;
|
|
Packit |
3ff1e7 |
r = (q->scripts.curr.scan != NULL)
|
|
Packit |
3ff1e7 |
? QUVI_TRUE
|
|
Packit |
3ff1e7 |
: QUVI_FALSE;
|
|
Packit |
3ff1e7 |
break;
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
return (r);
|
|
Packit |
3ff1e7 |
}
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
#undef _W
|
|
Packit |
3ff1e7 |
|
|
Packit |
3ff1e7 |
/* vim: set ts=2 sw=2 tw=72 expandtab: */
|