xref: /MusicPlayer2/MusicPlayer2/LastFM.h (revision bf0c3a3ac0c4e87e9e0b9d2966520f1cee37412e)
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