librespot/protocol/proto/es_storage.proto
2024-12-16 22:57:12 +01:00

84 lines
1.8 KiB
Protocol Buffer

// Extracted from: Spotify 1.2.52.442 (windows)
syntax = "proto3";
package spotify.storage.esperanto.proto;
import "google/protobuf/empty.proto";
option java_package = "com.spotify.storage.esperanto.proto";
option objc_class_prefix = "ESP";
service Storage {
rpc GetCacheSizeLimit(GetCacheSizeLimitParams) returns (CacheSizeLimit);
rpc SetCacheSizeLimit(SetCacheSizeLimitParams) returns (google.protobuf.Empty);
rpc DeleteExpiredItems(DeleteExpiredItemsParams) returns (google.protobuf.Empty);
rpc DeleteUnlockedItems(DeleteUnlockedItemsParams) returns (google.protobuf.Empty);
rpc GetStats(GetStatsParams) returns (Stats);
rpc GetFileRanges(GetFileRangesParams) returns (FileRanges);
}
message CacheSizeLimit {
int64 size = 1;
}
message GetCacheSizeLimitParams {
}
message SetCacheSizeLimitParams {
CacheSizeLimit limit = 1;
}
message DeleteExpiredItemsParams {
}
message DeleteUnlockedItemsParams {
}
message RealmStats {
Realm realm = 1;
int64 size = 2;
int64 num_entries = 3;
int64 num_complete_entries = 4;
}
message Stats {
string cache_id = 1;
int64 creation_date_sec = 2;
int64 max_cache_size = 3;
int64 current_size = 4;
int64 current_locked_size = 5;
int64 free_space = 6;
int64 total_space = 7;
int64 current_numfiles = 8;
repeated RealmStats realm_stats = 9;
}
message GetStatsParams {
}
message FileRanges {
message Range {
uint64 from_byte = 1;
uint64 to_byte = 2;
}
bool byte_size_known = 1;
uint64 byte_size = 2;
repeated Range ranges = 3;
}
message GetFileRangesParams {
Realm realm = 1;
string file_id = 2;
}
enum Realm {
STREAM = 0;
COVER_ART = 1;
PLAYLIST = 4;
AUDIO_SHOW = 5;
HEAD_FILES = 7;
EXTERNAL_AUDIO_SHOW = 8;
KARAOKE_MASK = 9;
}