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;
|
|
|
|
|
2020-08-18 20:11:08 +03:00
|
|
|
class NCClientInterface
|
2015-01-22 20:44:54 +03:00
|
|
|
{
|
|
|
|
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;
|
2018-01-19 21:44:10 +03:00
|
|
|
struct MenuItem
|
|
|
|
{
|
|
|
|
std::wstring command, flags, title;
|
|
|
|
};
|
|
|
|
std::vector<MenuItem> menuItems;
|
2017-01-05 19:28:28 +03:00
|
|
|
};
|
2018-01-19 21:44:10 +03:00
|
|
|
static ContextMenuInfo FetchInfo(const std::wstring &files);
|
|
|
|
static void SendRequest(const wchar_t *verb, const std::wstring &path);
|
2015-01-22 20:44:54 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif //ABSTRACTSOCKETHANDLER_H
|