Reduce QMutex usage - have MPDStats/MPDStatus emitted as objects, and
stored in relevant classes.
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include "mpdstatus.h"
|
||||
#include "mpdconnection.h"
|
||||
|
||||
MPDStatus * MPDStatus::self()
|
||||
{
|
||||
@@ -33,282 +34,12 @@ MPDStatus * MPDStatus::self()
|
||||
}
|
||||
|
||||
MPDStatus::MPDStatus()
|
||||
: m_volume(0)
|
||||
, m_consume(false)
|
||||
, m_repeat(false)
|
||||
, m_random(false)
|
||||
, m_playlist(0)
|
||||
, m_playlist_length(-1)
|
||||
, m_playlist_queue(-1)
|
||||
, m_xfade(0)
|
||||
, m_state(MPDStatus::State_Inactive)
|
||||
, m_song(-1)
|
||||
, m_song_id(-1)
|
||||
, m_time_elapsed(-1)
|
||||
, m_time_total(-1)
|
||||
, m_bitrate(0)
|
||||
, m_samplerate(0)
|
||||
, m_bits(0)
|
||||
, m_channels(0)
|
||||
, m_updating_db(0)
|
||||
{
|
||||
connect(MPDConnection::self(), SIGNAL(statusUpdated(const MPDStatusValues &)), this, SLOT(update(const MPDStatusValues &)));
|
||||
}
|
||||
|
||||
void MPDStatus::acquireWriteLock()
|
||||
void MPDStatus::update(const MPDStatusValues &v)
|
||||
{
|
||||
m_lock.lockForWrite();
|
||||
}
|
||||
|
||||
void MPDStatus::releaseWriteLock()
|
||||
{
|
||||
m_lock.unlock();
|
||||
}
|
||||
|
||||
// Getters
|
||||
quint8 MPDStatus::volume()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
quint8 volume = m_volume;
|
||||
m_lock.unlock();
|
||||
return volume;
|
||||
}
|
||||
|
||||
bool MPDStatus::consume()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
bool consume = m_consume;
|
||||
m_lock.unlock();
|
||||
return consume;
|
||||
}
|
||||
|
||||
bool MPDStatus::repeat()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
bool repeat = m_repeat;
|
||||
m_lock.unlock();
|
||||
return repeat;
|
||||
}
|
||||
|
||||
bool MPDStatus::random()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
bool random = m_random;
|
||||
m_lock.unlock();
|
||||
return random;
|
||||
}
|
||||
|
||||
quint32 MPDStatus::playlist()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
quint32 playlist = m_playlist;
|
||||
m_lock.unlock();
|
||||
return playlist;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::playlistLength()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 playlist_length = m_playlist_length;
|
||||
m_lock.unlock();
|
||||
return playlist_length;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::playlistQueue()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 playlist_queue = m_playlist_queue;
|
||||
m_lock.unlock();
|
||||
return playlist_queue;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::crossFade()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 xfade = m_xfade;
|
||||
m_lock.unlock();
|
||||
return xfade;
|
||||
}
|
||||
|
||||
MPDStatus::State MPDStatus::state()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
State state = m_state;
|
||||
m_lock.unlock();
|
||||
return state;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::song()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 song = m_song;
|
||||
m_lock.unlock();
|
||||
return song;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::songId()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 song_id = m_song_id;
|
||||
m_lock.unlock();
|
||||
return song_id;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::timeElapsed()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 time_elapsed = m_time_elapsed;
|
||||
m_lock.unlock();
|
||||
return time_elapsed;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::timeTotal()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 time_total = m_time_total;
|
||||
m_lock.unlock();
|
||||
return time_total;
|
||||
}
|
||||
|
||||
quint16 MPDStatus::bitrate()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
quint16 bitrate = m_bitrate;
|
||||
m_lock.unlock();
|
||||
return bitrate;
|
||||
}
|
||||
|
||||
quint16 MPDStatus::samplerate()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
quint16 samplerate = m_samplerate;
|
||||
m_lock.unlock();
|
||||
return samplerate;
|
||||
}
|
||||
|
||||
quint8 MPDStatus::bits()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
quint8 bits = m_bits;
|
||||
m_lock.unlock();
|
||||
return bits;
|
||||
}
|
||||
|
||||
quint8 MPDStatus::channels()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
quint8 channels = m_channels;
|
||||
m_lock.unlock();
|
||||
return channels;
|
||||
}
|
||||
|
||||
qint32 MPDStatus::updatingDb()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
qint32 updating_db = m_updating_db;
|
||||
m_lock.unlock();
|
||||
return updating_db;
|
||||
}
|
||||
|
||||
QString MPDStatus::error()
|
||||
{
|
||||
m_lock.lockForRead();
|
||||
QString error = m_error;
|
||||
m_lock.unlock();
|
||||
return error;
|
||||
}
|
||||
|
||||
// Setters
|
||||
void MPDStatus::setVolume(quint8 volume)
|
||||
{
|
||||
m_volume = volume;
|
||||
}
|
||||
|
||||
void MPDStatus::setConsume(bool consume)
|
||||
{
|
||||
m_consume = consume;
|
||||
}
|
||||
|
||||
void MPDStatus::setRepeat(bool repeat)
|
||||
{
|
||||
m_repeat = repeat;
|
||||
}
|
||||
|
||||
void MPDStatus::setRandom(bool random)
|
||||
{
|
||||
m_random = random;
|
||||
}
|
||||
|
||||
void MPDStatus::setPlaylist(quint32 playlist)
|
||||
{
|
||||
m_playlist = playlist;
|
||||
}
|
||||
|
||||
void MPDStatus::setPlaylistLength(qint32 playlist_length)
|
||||
{
|
||||
m_playlist_length = playlist_length;
|
||||
}
|
||||
|
||||
void MPDStatus::setPlaylistQueue(qint32 playlist_queue)
|
||||
{
|
||||
m_playlist_queue = playlist_queue;
|
||||
}
|
||||
|
||||
void MPDStatus::setCrossFade(qint32 xfade)
|
||||
{
|
||||
m_xfade = xfade;
|
||||
}
|
||||
|
||||
void MPDStatus::setState(State state)
|
||||
{
|
||||
m_state = state;
|
||||
}
|
||||
|
||||
void MPDStatus::setSong(qint32 song)
|
||||
{
|
||||
m_song = song;
|
||||
}
|
||||
|
||||
void MPDStatus::setSongId(qint32 song_id)
|
||||
{
|
||||
m_song_id = song_id;
|
||||
}
|
||||
|
||||
void MPDStatus::setTimeElapsed(qint32 time_elapsed)
|
||||
{
|
||||
m_time_elapsed = time_elapsed;
|
||||
}
|
||||
|
||||
void MPDStatus::setTimeTotal(qint32 time_total)
|
||||
{
|
||||
m_time_total = time_total;
|
||||
}
|
||||
|
||||
void MPDStatus::setBitrate(quint16 bitrate)
|
||||
{
|
||||
m_bitrate = bitrate;
|
||||
}
|
||||
|
||||
void MPDStatus::setSamplerate(quint16 samplerate)
|
||||
{
|
||||
m_samplerate = samplerate;
|
||||
}
|
||||
|
||||
void MPDStatus::setBits(quint8 bits)
|
||||
{
|
||||
m_bits = bits;
|
||||
}
|
||||
|
||||
void MPDStatus::setChannels(quint8 channels)
|
||||
{
|
||||
m_channels = channels;
|
||||
}
|
||||
|
||||
void MPDStatus::setUpdatingDb(qint32 updating_db)
|
||||
{
|
||||
m_updating_db = updating_db;
|
||||
}
|
||||
|
||||
void MPDStatus::setError(QString error)
|
||||
{
|
||||
m_error = error;
|
||||
values=v;
|
||||
emit updated();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user