/usr/include/xmms2/xmmsclient/xmmsclient++/stats.h is in libxmmsclient++-dev 0.8+dfsg-18.1build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | /* XMMS2 - X Music Multiplexer System
* Copyright (C) 2003-2011 XMMS2 Team
*
* PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*/
#ifndef XMMSCLIENTPP_STATS_H
#define XMMSCLIENTPP_STATS_H
#include <xmmsclient/xmmsclient.h>
#include <xmmsclient/xmmsclient++/mainloop.h>
#include <xmmsclient/xmmsclient++/signal.h>
#include <xmmsclient/xmmsclient++/helpers.h>
#include <xmmsclient/xmmsclient++/typedefs.h>
#include <list>
namespace Xmms
{
namespace Plugins {
typedef xmms_plugin_type_t Type;
static const Type ALL = XMMS_PLUGIN_TYPE_ALL;
static const Type OUTPUT = XMMS_PLUGIN_TYPE_OUTPUT;
static const Type XFORM = XMMS_PLUGIN_TYPE_XFORM;
}
class Client;
/** @class Stats stats.h "xmmsclient/xmmsclient++/stats.h"
* @brief This class is used to get various status information from the
* server.
*/
class Stats
{
public:
typedef xmms_mediainfo_reader_status_t ReaderStatus;
/** Mediainfo reader status if it's idling.
*/
static const ReaderStatus IDLE
= XMMS_MEDIAINFO_READER_STATUS_IDLE;
/** Mediainfo reader status if it's running.
*/
static const ReaderStatus RUNNING
= XMMS_MEDIAINFO_READER_STATUS_RUNNING;
/** Destructor
*/
virtual ~Stats();
/** Get statistics from the server.
*
* @throw connection_error If the client isn't connected.
* @throw mainloop_running_error If a mainloop is running -
* sync functions can't be called when mainloop is running. This
* is only thrown if the programmer is careless or doesn't know
* what he/she's doing. (logic_error)
* @throw result_error If the operation failed.
*
* @return Dict containing @e version @c string and @e uptime as
* <code>unsigned int</code>.
*/
DictResult
mainStats() const;
/** Get a list of loaded plugins from the server.
*
* @param type Type of plugins to get a list of. (<b>optional</b>)
*
* @throw connection_error If the client isn't connected.
* @throw mainloop_running_error If a mainloop is running -
* sync functions can't be called when mainloop is running. This
* is only thrown if the programmer is careless or doesn't know
* what he/she's doing. (logic_error)
* @throw result_error If the operation failed.
*
* @return List of @link Dict Dicts@endlink containing
* @e name @c string, @e shortname @c string,
* @e version @c string, @e description @c string and
* @e type as <code>Plugins::Type</code>
*/
DictListResult
pluginList(Plugins::Type type = Plugins::ALL) const;
/** Request status for the mediainfo reader.
*
* Compare result with Xmms::Stats::IDLE and Xmms::Stats::RUNNING.
*
* @param slot Function pointer to a function taking
* const Xmms::Stats::ReaderStatus&
* and returning a bool.
* @param error Function pointer to an error callback
* function. (<b>optional</b>)
*
* @throw connection_error If the client isn't connected.
*/
ReaderStatusSignal
broadcastMediainfoReaderStatus() const;
/** Request number of unindexed entries in medialib.
*
* @param slot Function pointer to a function taking
* const unsigned int& and returning a bool.
* @param error Function pointer to an error callback
* function. (<b>optional</b>)
*
* @throw connection_error If the client isn't connected.
*/
IntSignal
signalMediainfoReaderUnindexed() const;
/** @cond */
private:
// Constructor, only to be called by Xmms::Client
friend class Client;
Stats( xmmsc_connection_t*& conn, bool& connected,
MainloopInterface*& ml );
// Copy-constructor / operator=
Stats( const Stats& src );
Stats operator=( const Stats& src ) const;
xmmsc_connection_t*& conn_;
bool& connected_;
MainloopInterface*& ml_;
/** @endcond */
};
}
#endif // XMMSCLIENTPP_STATS_H
|