| // 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. |
| |
| library store; |
| |
| import 'dart:async'; |
| import 'dart:collection'; |
| |
| import '../models/all.dart' as model; |
| import 'utils/factory.dart' as factory; |
| |
| part 'actions.dart'; |
| part 'state.dart'; |
| |
| // Provides the state, actions and state change event to the application. |
| abstract class Store { |
| static Store _singletonStore = factory.create(); |
| |
| factory Store.singleton() { |
| return _singletonStore; |
| } |
| |
| AppActions get actions; |
| AppState get state; |
| Stream get onStateChange; |
| |
| // Initializes the store and loads parts of the state that are required before |
| // the application can start, such as the user information and settings. |
| Future init(); |
| } |