1package storage
2
3import (
4	"github.com/theupdateframework/notary/tuf/data"
5)
6
7// ErrOffline is used to indicate we are operating offline
8type ErrOffline struct{}
9
10func (e ErrOffline) Error() string {
11	return "client is offline"
12}
13
14var err = ErrOffline{}
15
16// OfflineStore is to be used as a placeholder for a nil store. It simply
17// returns ErrOffline for every operation
18type OfflineStore struct{}
19
20// GetSized returns ErrOffline
21func (es OfflineStore) GetSized(name string, size int64) ([]byte, error) {
22	return nil, err
23}
24
25// Set returns ErrOffline
26func (es OfflineStore) Set(name string, blob []byte) error {
27	return err
28}
29
30// SetMulti returns ErrOffline
31func (es OfflineStore) SetMulti(map[string][]byte) error {
32	return err
33}
34
35// Remove returns ErrOffline
36func (es OfflineStore) Remove(name string) error {
37	return err
38}
39
40// GetKey returns ErrOffline
41func (es OfflineStore) GetKey(role data.RoleName) ([]byte, error) {
42	return nil, err
43}
44
45// RotateKey returns ErrOffline
46func (es OfflineStore) RotateKey(role data.RoleName) ([]byte, error) {
47	return nil, err
48}
49
50// RemoveAll return ErrOffline
51func (es OfflineStore) RemoveAll() error {
52	return err
53}
54
55// Location returns a human readable name for the storage location
56func (es OfflineStore) Location() string {
57	return "offline"
58}
59