1 /* 2 * Copyright (C) 2005-2018 Team Kodi 3 * This file is part of Kodi - https://kodi.tv 4 * 5 * SPDX-License-Identifier: GPL-2.0-or-later 6 * See LICENSES/README.md for more information. 7 */ 8 9 #pragma once 10 11 #include "FileItemHandler.h" 12 #include "JSONRPC.h" 13 14 class CVariant; 15 16 namespace JSONRPC 17 { 18 class CFileOperations : public CFileItemHandler 19 { 20 public: 21 static JSONRPC_STATUS GetRootDirectory(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); 22 static JSONRPC_STATUS GetDirectory(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); 23 static JSONRPC_STATUS GetFileDetails(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); 24 static JSONRPC_STATUS SetFileDetails(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); 25 26 static JSONRPC_STATUS PrepareDownload(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); 27 static JSONRPC_STATUS Download(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant ¶meterObject, CVariant &result); 28 29 static bool FillFileItem( 30 const CFileItemPtr& originalItem, 31 CFileItemPtr& item, 32 const std::string& media = "", 33 const CVariant& parameterObject = CVariant(CVariant::VariantTypeArray)); 34 static bool FillFileItemList(const CVariant ¶meterObject, CFileItemList &list); 35 }; 36 } 37