diff options
Diffstat (limited to 'xbmc/interfaces/json-rpc/ITransportLayer.h')
-rw-r--r-- | xbmc/interfaces/json-rpc/ITransportLayer.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/xbmc/interfaces/json-rpc/ITransportLayer.h b/xbmc/interfaces/json-rpc/ITransportLayer.h new file mode 100644 index 0000000..11a0c78 --- /dev/null +++ b/xbmc/interfaces/json-rpc/ITransportLayer.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2005-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#pragma once + +#include <string> + +class CVariant; + +namespace JSONRPC +{ + enum TransportLayerCapability + { + Response = 0x1, + Announcing = 0x2, + FileDownloadRedirect = 0x4, + FileDownloadDirect = 0x8 + }; + + #define TRANSPORT_LAYER_CAPABILITY_ALL (Response | Announcing | FileDownloadRedirect | FileDownloadDirect) + + class ITransportLayer + { + public: + virtual ~ITransportLayer() = default; + virtual bool PrepareDownload(const char *path, CVariant &details, std::string &protocol) = 0; + virtual bool Download(const char *path, CVariant &result) = 0; + virtual int GetCapabilities() = 0; + }; +} |