blob: c9e099c3b91956e2968181ebcb1a90a5c428e411 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
part of store;
// Represents the current state of the data that the application holds.
// Application is rendered purely based on this state.
// State is deeply-immutable outside of store code.
abstract class AppState {
UnmodifiableMapView<String, DeckState> get decks;
UnmodifiableListView<
model.PresentationAdvertisement> get advertisedPresentations;
UnmodifiableMapView<String,
model.PresentationAdvertisement> get presentationAdvertisements;
}
abstract class DeckState {
model.Deck get deck;
UnmodifiableListView<model.Slide> get slides;
PresentationState get presentation;
int get currSlideNum;
}
abstract class PresentationState {
String get key;
int get currSlideNum;
bool get isDriving;
bool get isFollowingPresentation;
}