pub trait DataSource {
// Required methods
fn fetch_description(&self) -> DataSourceDescription;
fn fetch_info(&self) -> Result<DataSourceInfo>;
fn fetch_summary_tile(
&self,
entry_id: &EntryID,
tile_id: TileID,
full: bool,
) -> Result<SummaryTile>;
fn fetch_slot_tile(
&self,
entry_id: &EntryID,
tile_id: TileID,
full: bool,
) -> Result<SlotTile>;
fn fetch_slot_meta_tile(
&self,
entry_id: &EntryID,
tile_id: TileID,
full: bool,
) -> Result<SlotMetaTile>;
}