namespace Fluent
{
using System;
///
/// Interface for handling loading and saving the state of a .
///
public interface IRibbonStateStorage : IDisposable
{
///
/// Gets whether state is currently loading.
///
bool IsLoading { get; }
///
/// Gets or sets whether state is loaded.
///
bool IsLoaded { get; }
///
/// Save current state to a temporary storage.
///
void SaveTemporary();
///
/// Save current state to a persistent storage.
///
void Save();
///
/// Load state from a temporary storage.
///
void LoadTemporary();
///
/// Loads the state from a persistent storage.
///
///
/// Sets after it's finished to prevent a race condition with saving the state to the temporary storage.
///
void Load();
///
/// Resets saved state.
///
void Reset();
}
}