30 void Show(
const std::string& scalesDir);
39 void SetOnDownload(std::function<
void(
const std::string&)> cb) { mOnDownload = cb; }
43 std::string mScalesDir;
44 std::vector<OpenScalesEntry> mCatalog;
45 std::vector<std::string> mDomains;
48 char mFilterText[256];
49 std::string mStatusMessage;
51 std::string mCachePath;
53 std::function<void(
const std::string&)> mOnDownload;
56 static std::string FetchURL(
const std::string& url);
58 bool DownloadScale(
const std::string& code);
61 void LoadCachedManifest();
62 void ParseManifest(
const std::string&
json);
63 void UpdateDomainList();
64 void UpdateLocalStatus();
65 std::vector<int> GetFilteredIndices();
68 static constexpr const char* BASE_URL =
"https://openscales.net";
69 struct ManifestSource {
74 static const ManifestSource MANIFESTS[];
75 static const int NUM_MANIFESTS;
std::vector< std::string > languages