1*bf0c3a3aSlifegpc #pragma once 2*bf0c3a3aSlifegpc #include "LastFMDataArchive.h" 3*bf0c3a3aSlifegpc #include <map> 4*bf0c3a3aSlifegpc /// Can be obtained from https://www.last.fm/api/accounts/create 5*bf0c3a3aSlifegpc #define LASTFM_API_KEY L"f2e8f3d36d2de514acc2b072762bb732" 6*bf0c3a3aSlifegpc #define LASTFM_SHARED_SECRET L"a6b6804e2bc3a60732ac9c5719c52494" 7*bf0c3a3aSlifegpc class LastFM { 8*bf0c3a3aSlifegpc public: 9*bf0c3a3aSlifegpc LastFM() { 10*bf0c3a3aSlifegpc api_key = LASTFM_API_KEY; 11*bf0c3a3aSlifegpc shared_secret = LASTFM_SHARED_SECRET; 12*bf0c3a3aSlifegpc } 13*bf0c3a3aSlifegpc 14*bf0c3a3aSlifegpc void SaveData(wstring path) { 15*bf0c3a3aSlifegpc return ar.SaveData(path); 16*bf0c3a3aSlifegpc } 17*bf0c3a3aSlifegpc 18*bf0c3a3aSlifegpc void LoadData(wstring path) { 19*bf0c3a3aSlifegpc return ar.LoadData(path); 20*bf0c3a3aSlifegpc } 21*bf0c3a3aSlifegpc std::wstring GetToken(); 22*bf0c3a3aSlifegpc protected: 23*bf0c3a3aSlifegpc void GenerateApiSig(map<wstring, wstring>& params); 24*bf0c3a3aSlifegpc std::wstring GetUrl(map<wstring, wstring>& params); 25*bf0c3a3aSlifegpc private: 26*bf0c3a3aSlifegpc LastFMDataArchive ar; 27*bf0c3a3aSlifegpc wstring api_key; 28*bf0c3a3aSlifegpc wstring shared_secret; 29*bf0c3a3aSlifegpc }; 30