This file is indexed.

/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