move to new cspot

This commit is contained in:
philippe44
2023-03-25 16:48:41 -07:00
parent c712b78931
commit 008c36facf
2983 changed files with 465270 additions and 13569 deletions

View File

@@ -0,0 +1,41 @@
#pragma once
#include <memory>
#include "MercurySession.h"
#include "TimeProvider.h"
#include "protobuf/metadata.pb.h"
namespace cspot {
struct Context {
struct ConfigState {
// Setup default bitrate to 160
AudioFormat audioFormat = AudioFormat::AudioFormat_OGG_VORBIS_160;
std::string deviceId;
std::string deviceName;
int volume;
std::string username;
std::string countryCode;
};
ConfigState config;
std::shared_ptr<TimeProvider> timeProvider;
std::shared_ptr<cspot::MercurySession> session;
static std::shared_ptr<Context> createFromBlob(std::shared_ptr<LoginBlob> blob) {
auto ctx = std::make_shared<Context>();
ctx->timeProvider = std::make_shared<TimeProvider>();
ctx->session = std::make_shared<MercurySession>(ctx->timeProvider);
ctx->config.deviceId = blob->getDeviceId();
ctx->config.deviceName = blob->getDeviceName();
ctx->config.volume = 0;
ctx->config.username = blob->getUserName();
return ctx;
}
};
} // namespace cspot