74
75
ProviderBase(ProviderBase const& other) = delete;
75
76
ProviderBase& operator=(ProviderBase const& other) = delete;
77
virtual boost::future<ItemList> roots(Context const& context) = 0;
78
virtual boost::future<ItemList> roots(std::vector<std::string> const& keys, Context const& context) = 0;
78
79
virtual boost::future<std::tuple<ItemList,std::string>> list(
79
80
std::string const& item_id, std::string const& page_token,
81
std::vector<std::string> const& keys,
80
82
Context const& context) = 0;
81
83
virtual boost::future<ItemList> lookup(
82
std::string const& parent_id, std::string const& name,
84
std::string const& parent_id, std::string const& name, std::vector<std::string> const& keys,
83
85
Context const& context) = 0;
84
virtual boost::future<Item> metadata(std::string const& item_id,
86
virtual boost::future<Item> metadata(std::string const& item_id, std::vector<std::string> const& keys,
85
87
Context const& context) = 0;
87
89
virtual boost::future<Item> create_folder(
88
std::string const& parent_id, std::string const& name,
90
std::string const& parent_id, std::string const& name, std::vector<std::string> const& keys,
89
91
Context const& context) = 0;
91
93
virtual boost::future<std::unique_ptr<UploadJob>> create_file(
92
94
std::string const& parent_id, std::string const& name,
93
int64_t size, std::string const& content_type, bool allow_overwrite,
95
int64_t size, std::string const& content_type, bool allow_overwrite, std::vector<std::string> const& keys,
94
96
Context const& context) = 0;
95
97
virtual boost::future<std::unique_ptr<UploadJob>> update(
96
std::string const& item_id, int64_t size, std::string const& old_etag,
98
std::string const& item_id, int64_t size, std::string const& old_etag, std::vector<std::string> const& keys,
97
99
Context const& context) = 0;
99
101
virtual boost::future<std::unique_ptr<DownloadJob>> download(
100
std::string const& item_id, Context const& context) = 0;
102
std::string const& item_id, std::string const& match_etag,
103
Context const& context) = 0;
102
105
virtual boost::future<void> delete_item(
103
106
std::string const& item_id, Context const& context) = 0;
104
107
virtual boost::future<Item> move(
105
108
std::string const& item_id, std::string const& new_parent_id,
106
std::string const& new_name, Context const& context) = 0;
109
std::string const& new_name, std::vector<std::string> const& keys, Context const& context) = 0;
107
110
virtual boost::future<Item> copy(
108
111
std::string const& item_id, std::string const& new_parent_id,
109
std::string const& new_name, Context const& context) = 0;
112
std::string const& new_name, std::vector<std::string> const& keys, Context const& context) = 0;