xbmc
FileOperations.h
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 #include <memory>
15 
16 class CFileItem;
17 class CVariant;
18 
19 namespace JSONRPC
20 {
22  {
23  public:
24  static JSONRPC_STATUS GetRootDirectory(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
25  static JSONRPC_STATUS GetDirectory(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
26  static JSONRPC_STATUS GetFileDetails(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
27  static JSONRPC_STATUS SetFileDetails(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
28 
29  static JSONRPC_STATUS PrepareDownload(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
30  static JSONRPC_STATUS Download(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
31 
32  static bool FillFileItem(
33  const std::shared_ptr<CFileItem>& originalItem,
34  std::shared_ptr<CFileItem>& item,
35  const std::string& media = "",
36  const CVariant& parameterObject = CVariant(CVariant::VariantTypeArray));
37  static bool FillFileItemList(const CVariant &parameterObject, CFileItemList &list);
38  };
39 }
Definition: FileOperations.h:21
Represents a list of files.
Definition: FileItemList.h:22
Definition: AddonsOperations.h:23
Definition: Variant.h:31
Definition: FileItemHandler.h:25
JSONRPC_STATUS
Possible statuc codes of a response to a JSON-RPC request.
Definition: JSONRPCUtils.h:29
Definition: ITransportLayer.h:27
Definition: IClient.h:13
Represents a file on a share.
Definition: FileItem.h:102