| // 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; |
| } |