2015-01-22 20:44:54 +03:00
|
|
|
/**
|
2016-07-26 17:53:11 +03:00
|
|
|
* Copyright (c) 2015 ownCloud GmbH. All rights reserved.
|
2015-01-22 20:44:54 +03:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or modify it under
|
|
|
|
* the terms of the GNU Lesser General Public License as published by the Free
|
|
|
|
* Software Foundation; version 2.1 of the License
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
|
|
|
* details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2016-07-26 17:53:11 +03:00
|
|
|
* Copyright (c) 2014 ownCloud GmbH. All rights reserved.
|
2015-01-22 20:44:54 +03:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or modify it under
|
|
|
|
* the terms of the GNU Lesser General Public License as published by the Free
|
|
|
|
* Software Foundation; version 2.1 of the License
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
|
|
|
* details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef AbstractSocketHandler_H
|
|
|
|
#define AbstractSocketHandler_H
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <unordered_map>
|
|
|
|
#include <queue>
|
|
|
|
#include <thread>
|
|
|
|
#include <mutex>
|
|
|
|
#include <atomic>
|
|
|
|
#include <condition_variable>
|
|
|
|
|
|
|
|
class CommunicationSocket;
|
|
|
|
|
|
|
|
class OCClientInterface
|
|
|
|
{
|
|
|
|
public:
|
2017-01-05 19:28:28 +03:00
|
|
|
struct ContextMenuInfo {
|
|
|
|
std::vector<std::wstring> watchedDirectories;
|
2017-07-04 17:58:55 +03:00
|
|
|
std::wstring contextMenuTitle;
|
2017-01-05 19:28:28 +03:00
|
|
|
std::wstring shareMenuTitle;
|
2017-07-04 17:58:55 +03:00
|
|
|
std::wstring copyLinkMenuTitle;
|
|
|
|
std::wstring emailLinkMenuTitle;
|
2017-01-05 19:28:28 +03:00
|
|
|
};
|
|
|
|
static ContextMenuInfo FetchInfo();
|
2017-07-04 17:58:55 +03:00
|
|
|
|
|
|
|
static void RequestShare(const std::wstring &path);
|
|
|
|
static void RequestCopyLink(const std::wstring &path);
|
|
|
|
static void RequestEmailLink(const std::wstring &path);
|
|
|
|
|
|
|
|
private:
|
|
|
|
static void SendRequest(wchar_t *verb, const std::wstring &path);
|
2015-01-22 20:44:54 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif //ABSTRACTSOCKETHANDLER_H
|