Files
cantata/mpd/mpdstats.cpp
2012-01-04 19:15:55 +00:00

203 lines
3.8 KiB
C++

/*
* Cantata
*
* Copyright (c) 2011-2012 Craig Drummond <craig.p.drummond@gmail.com>
*
*/
/*
* Copyright (c) 2008 Sander Knopper (sander AT knopper DOT tk) and
* Roeland Douma (roeland AT rullzer DOT com)
*
* This file is part of QtMPC.
*
* QtMPC 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.
*
* QtMPC 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 QtMPC. If not, see <http://www.gnu.org/licenses/>.
*/
#include "mpdstats.h"
MPDStats * MPDStats::self()
{
static MPDStats instance;
return &instance;
}
MPDStats::MPDStats()
: m_artists(0)
, m_albums(0)
, m_songs(0)
, m_uptime(0)
, m_playtime(0)
, m_db_playtime(0)
, m_playlist_artists(0)
, m_playlist_albums(0)
, m_playlist_songs(0)
, m_playlist_time(0)
{
}
void MPDStats::acquireWriteLock()
{
m_lock.lockForWrite();
}
void MPDStats::releaseWriteLock()
{
m_lock.unlock();
}
// Getters
quint32 MPDStats::artists()
{
m_lock.lockForRead();
quint32 artists = m_artists;
m_lock.unlock();
return artists;
}
quint32 MPDStats::albums()
{
m_lock.lockForRead();
quint32 albums = m_albums;
m_lock.unlock();
return albums;
}
quint32 MPDStats::songs()
{
m_lock.lockForRead();
quint32 songs = m_songs;
m_lock.unlock();
return songs;
}
quint32 MPDStats::uptime()
{
m_lock.lockForRead();
quint32 uptime = m_uptime;
m_lock.unlock();
return uptime;
}
quint32 MPDStats::playtime()
{
m_lock.lockForRead();
quint32 playtime = m_playtime;
m_lock.unlock();
return playtime;
}
quint32 MPDStats::dbPlaytime()
{
m_lock.lockForRead();
quint32 db_playtime = m_db_playtime;
m_lock.unlock();
return db_playtime;
}
QDateTime MPDStats::dbUpdate()
{
m_lock.lockForRead();
QDateTime db_update = m_db_update;
m_lock.unlock();
return db_update;
}
quint32 MPDStats::playlistArtists()
{
m_lock.lockForRead();
quint32 playlistArtists = m_playlist_artists;
m_lock.unlock();
return playlistArtists;
}
quint32 MPDStats::playlistAlbums()
{
m_lock.lockForRead();
quint32 playlistAlbums = m_playlist_albums;
m_lock.unlock();
return playlistAlbums;
}
quint32 MPDStats::playlistSongs()
{
m_lock.lockForRead();
quint32 playlistSongs = m_playlist_songs;
m_lock.unlock();
return playlistSongs;
}
quint32 MPDStats::playlistTime()
{
m_lock.lockForRead();
quint32 playlistTime = m_playlist_time;
m_lock.unlock();
return playlistTime;
}
// Setters
void MPDStats::setArtists(quint32 artists)
{
m_artists = artists;
}
void MPDStats::setAlbums(quint32 albums)
{
m_albums = albums;
}
void MPDStats::setSongs(quint32 songs)
{
m_songs = songs;
}
void MPDStats::setUptime(quint32 uptime)
{
m_uptime = uptime;
}
void MPDStats::setPlaytime(quint32 playtime)
{
m_playtime = playtime;
}
void MPDStats::setDbPlaytime(quint32 db_playtime)
{
m_db_playtime = db_playtime;
}
void MPDStats::setDbUpdate(uint seconds)
{
m_db_update.setTime_t(seconds);
}
void MPDStats::setPlaylistArtists(quint32 artists)
{
m_playlist_artists = artists;
}
void MPDStats::setPlaylistAlbums(quint32 albums)
{
m_playlist_albums = albums;
}
void MPDStats::setPlaylistSongs(quint32 songs)
{
m_playlist_songs = songs;
}
void MPDStats::setPlaylistTime(quint32 time)
{
m_playlist_time = time;
}