kodi
AddonsOperations.h
1 /*
2  * Copyright (C) 2011-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 "JSONRPC.h"
12 
13 #include <memory>
14 
15 namespace ADDON
16 {
17 class CAddonDatabase;
18 class IAddon;
19 }
20 
21 class CVariant;
22 
23 namespace JSONRPC
24 {
26  {
27  public:
28  static JSONRPC_STATUS GetAddons(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
29  static JSONRPC_STATUS GetAddonDetails(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
30 
31  static JSONRPC_STATUS SetAddonEnabled(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
32  static JSONRPC_STATUS ExecuteAddon(const std::string &method, ITransportLayer *transport, IClient *client, const CVariant &parameterObject, CVariant &result);
33 
34  private:
35  static void FillDetails(const std::shared_ptr<ADDON::IAddon>& addon,
36  const CVariant& fields,
37  CVariant& result,
38  ADDON::CAddonDatabase& addondb,
39  bool append = false);
40  };
41 }
Definition: AddonDatabase.h:61
Definition: AddonsOperations.h:23
Definition: Variant.h:31
JSONRPC_STATUS
Possible statuc codes of a response to a JSON-RPC request.
Definition: JSONRPCUtils.h:29
Definition: AddonsOperations.h:25
Definition: ITransportLayer.h:27
Definition: IClient.h:13
Definition: Addon.cpp:39
Helper class containing utility methods to handle json rpc method calls.
Definition: JSONUtils.h:46