4
0
mirror of https://github.com/QuasarApp/SoundBand.git synced 2025-05-02 18:19:33 +00:00

77 lines
1.6 KiB
C++
Raw Normal View History

2017-10-29 14:47:36 +03:00
#include "song.h"
2017-11-09 23:09:59 +03:00
#include "config.h"
2017-10-29 14:47:36 +03:00
syncLib::SongHeader::SongHeader()
{
this->id = 0;
this->name = "";
this->size = 0;
}
syncLib::SongHeader& syncLib::SongHeader::operator =(const syncLib::SongHeader& right){
this->id = right.id;
this->name = right.name;
this->size = right.size;
return *this;
}
bool syncLib::SongHeader::operator ==(const syncLib::SongHeader& right){
return this->name == right.name && this->size == right.size;
}
2017-11-06 13:20:52 +03:00
syncLib::SongHeader::getSize(){
QByteArray size;
QDataStream stream(&size);
stream << id << name << this->size;
return size.size();
}
2017-10-29 14:47:36 +03:00
syncLib::Song::Song():
syncLib::SongHeader()
{
source.clear();
}
2017-11-06 13:20:52 +03:00
friend QDataStream& operator << (QDataStream& stream, const syncLib::SongHeader& song){
stream << song.id;
stream << song.name;
stream << song.size;
return stream;
}
friend QDataStream& operator >> (QDataStream& stream, syncLib::SongHeader& song){
stream >> song.id;
stream >> song.name;
stream >> song.size;
return stream;
}
2017-10-29 14:47:36 +03:00
syncLib::Song::Song(const SongHeader& from)
:syncLib::Song::Song()
{
this->id = from.id;
this->name = from.name;
this->size = from.size;
}
2017-11-06 01:33:16 +03:00
syncLib::Song::clear(){
source.clear();
}
2017-10-29 14:47:36 +03:00
syncLib::Song::~Song(){
source.clear();
}
2017-11-06 13:20:52 +03:00
syncLib::Song::getSize(){
return syncLib::SongHeader::getSize() + source.size();
}
QDataStream operator << (QDataStream& stream,const syncLib::Song& song){
stream << (syncLib::SongHeader)(*this);
stream << song.source;
}
QDataStream operator << (QDataStream& stream, syncLib::Song& song){
stream >> (syncLib::SongHeader)(*this);
stream >> song.source;
}