summaryrefslogtreecommitdiff
path: root/protocols/CloudFile/src/Services/dropbox_service.h
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:44 +0300
committerGeorge Hazan <ghazan@miranda.im>2019-03-02 12:32:55 +0300
commit931a7dc1ac0dbc7e6c1083583ced915e572f5b47 (patch)
tree9fe9a6448d44030e26aa7107ce16044ed413e0d0 /protocols/CloudFile/src/Services/dropbox_service.h
parentdd7d9954042254e66e3bbbec7195c6be8b1a0663 (diff)
all protocols (even virtual ones) moved to the Protocols folder
Diffstat (limited to 'protocols/CloudFile/src/Services/dropbox_service.h')
-rw-r--r--protocols/CloudFile/src/Services/dropbox_service.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/protocols/CloudFile/src/Services/dropbox_service.h b/protocols/CloudFile/src/Services/dropbox_service.h
new file mode 100644
index 0000000000..b6c5a7dfcd
--- /dev/null
+++ b/protocols/CloudFile/src/Services/dropbox_service.h
@@ -0,0 +1,36 @@
+#ifndef _CLOUDSERVICE_DROPBOX_H_
+#define _CLOUDSERVICE_DROPBOX_H_
+
+class CDropboxService : public CCloudService
+{
+private:
+ void __cdecl RequestAccessTokenThread(void *);
+ void __cdecl RevokeAccessTokenThread(void *);
+
+ void HandleJsonError(JSONNode &node) override;
+
+ auto UploadFile(const char *data, size_t size, const std::string &path);
+ auto CreateUploadSession(const char *chunk, size_t chunkSize);
+ void UploadFileChunk(const std::string &sessionId, const char *chunk, size_t chunkSize, size_t offset);
+ auto CommitUploadSession(const std::string &sessionId, const char *chunk, size_t chunkSize, size_t offset, const std::string &path);
+ void CreateFolder(const std::string &path);
+ auto CreateSharedLink(const std::string &path);
+
+ void Upload(FileTransferParam *ftp) override;
+
+public:
+ CDropboxService(const char *protoName, const wchar_t *userName);
+
+ static CDropboxService* Init(const char *szModuleName, const wchar_t *szUserName);
+ static int UnInit(CDropboxService*);
+
+ const char* GetModuleName() const override;
+
+ int GetIconId() const override;
+
+ bool IsLoggedIn() override;
+ void Login(HWND owner = nullptr) override;
+ void Logout() override;
+};
+
+#endif //_CLOUDSERVICE_DROPBOX_H_ \ No newline at end of file