pub trait ContentDirectory {
Show 16 methods
// Required methods
async fn browse(&self, request: BrowseRequest) -> Result<BrowseResponse>;
async fn create_object(
&self,
request: CreateObjectRequest,
) -> Result<CreateObjectResponse>;
async fn destroy_object(&self, request: DestroyObjectRequest) -> Result<()>;
async fn find_prefix(
&self,
request: FindPrefixRequest,
) -> Result<FindPrefixResponse>;
async fn get_album_artist_display_option(
&self,
) -> Result<GetAlbumArtistDisplayOptionResponse>;
async fn get_all_prefix_locations(
&self,
request: GetAllPrefixLocationsRequest,
) -> Result<GetAllPrefixLocationsResponse>;
async fn get_browseable(&self) -> Result<GetBrowseableResponse>;
async fn get_last_index_change(&self) -> Result<GetLastIndexChangeResponse>;
async fn get_search_capabilities(
&self,
) -> Result<GetSearchCapabilitiesResponse>;
async fn get_share_index_in_progress(
&self,
) -> Result<GetShareIndexInProgressResponse>;
async fn get_sort_capabilities(&self) -> Result<GetSortCapabilitiesResponse>;
async fn get_system_update_id(&self) -> Result<GetSystemUpdateIdResponse>;
async fn refresh_share_index(
&self,
request: RefreshShareIndexRequest,
) -> Result<()>;
async fn request_resort(&self, request: RequestResortRequest) -> Result<()>;
async fn set_browseable(&self, request: SetBrowseableRequest) -> Result<()>;
async fn update_object(&self, request: UpdateObjectRequest) -> Result<()>;
}Expand description
Browse for local content
Required Methods§
Sourceasync fn browse(&self, request: BrowseRequest) -> Result<BrowseResponse>
async fn browse(&self, request: BrowseRequest) -> Result<BrowseResponse>
Browse for content: Music library (A), share(S:), Sonos playlists(SQ:), Sonos favorites(FV:2), radio stations(R:0/0), radio shows(R:0/1), queue(Q:)). Recommendation: Send one request, check the TotalMatches and - if necessary - do additional requests with higher StartingIndex. In case of duplicates only the first is returned! Example: albums with same title, even if artists are different
async fn create_object( &self, request: CreateObjectRequest, ) -> Result<CreateObjectResponse>
async fn destroy_object(&self, request: DestroyObjectRequest) -> Result<()>
async fn find_prefix( &self, request: FindPrefixRequest, ) -> Result<FindPrefixResponse>
Sourceasync fn get_album_artist_display_option(
&self,
) -> Result<GetAlbumArtistDisplayOptionResponse>
async fn get_album_artist_display_option( &self, ) -> Result<GetAlbumArtistDisplayOptionResponse>
Get the current album art display option such as WMP, ITUNES or NONE
async fn get_all_prefix_locations( &self, request: GetAllPrefixLocationsRequest, ) -> Result<GetAllPrefixLocationsResponse>
async fn get_browseable(&self) -> Result<GetBrowseableResponse>
async fn get_last_index_change(&self) -> Result<GetLastIndexChangeResponse>
async fn get_search_capabilities(&self) -> Result<GetSearchCapabilitiesResponse>
async fn get_sort_capabilities(&self) -> Result<GetSortCapabilitiesResponse>
async fn get_system_update_id(&self) -> Result<GetSystemUpdateIdResponse>
Updates the music library (share) index
async fn request_resort(&self, request: RequestResortRequest) -> Result<()>
async fn set_browseable(&self, request: SetBrowseableRequest) -> Result<()>
async fn update_object(&self, request: UpdateObjectRequest) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.