mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-21 16:37:12 +01:00
Adds lib-network-manager
This commit is contained in:
49
libraries/lib-network-manager/NetworkManager.h
Normal file
49
libraries/lib-network-manager/NetworkManager.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/*!********************************************************************
|
||||
|
||||
Audacity: A Digital Audio Editor
|
||||
|
||||
@file NetworkManager.h
|
||||
@brief Declare a class for preforming HTTP requests.
|
||||
|
||||
Dmitry Vedenko
|
||||
**********************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "NetworkManagerApi.h"
|
||||
|
||||
namespace audacity
|
||||
{
|
||||
namespace network_manager
|
||||
{
|
||||
|
||||
class Request;
|
||||
class IResponse;
|
||||
class IResponseFactory;
|
||||
|
||||
using ResponsePtr = std::shared_ptr<IResponse>;
|
||||
|
||||
class NETWORK_MANAGER_API NetworkManager final
|
||||
{
|
||||
NetworkManager ();
|
||||
~NetworkManager ();
|
||||
public:
|
||||
static NetworkManager& GetInstance();
|
||||
static void Terminate ();
|
||||
|
||||
ResponsePtr doGet (const Request& request);
|
||||
ResponsePtr doHead (const Request& request);
|
||||
ResponsePtr doDelete (const Request& request);
|
||||
ResponsePtr doPost (const Request& request, const void* data, size_t size);
|
||||
ResponsePtr doPut (const Request& request, const void* data, size_t size);
|
||||
|
||||
void setProxy (const std::string& proxy);
|
||||
private:
|
||||
std::unique_ptr<IResponseFactory> mResponseFactory;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user