xbmc
UPnPSettings.h
1 /*
2  * Copyright (C) 2013-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 "settings/lib/ISettingsHandler.h"
12 #include "threads/CriticalSection.h"
13 #include "utils/logtypes.h"
14 
15 #include <string>
16 
18 {
19 public:
20  static CUPnPSettings& GetInstance();
21 
22  void OnSettingsUnloaded() override;
23 
24  bool Load(const std::string &file);
25  bool Save(const std::string &file) const;
26  void Clear();
27 
28  const std::string& GetServerUUID() const { return m_serverUUID; }
29  int GetServerPort() const { return m_serverPort; }
30  int GetMaximumReturnedItems() const { return m_maxReturnedItems; }
31  const std::string& GetRendererUUID() const { return m_rendererUUID; }
32  int GetRendererPort() const { return m_rendererPort; }
33 
34  void SetServerUUID(const std::string &uuid) { m_serverUUID = uuid; }
35  void SetServerPort(int port) { m_serverPort = port; }
36  void SetMaximumReturnedItems(int maximumReturnedItems) { m_maxReturnedItems = maximumReturnedItems; }
37  void SetRendererUUID(const std::string &uuid) { m_rendererUUID = uuid; }
38  void SetRendererPort(int port) { m_rendererPort = port; }
39 
40 protected:
41  CUPnPSettings();
42  CUPnPSettings(const CUPnPSettings&) = delete;
43  CUPnPSettings& operator=(CUPnPSettings const&) = delete;
44  ~CUPnPSettings() override;
45 
46 private:
47  std::string m_serverUUID;
48  int m_serverPort;
49  int m_maxReturnedItems;
50  std::string m_rendererUUID;
51  int m_rendererPort;
52 
53  mutable CCriticalSection m_critical;
54 
55  Logger m_logger;
56 };
Interface defining methods being called by the settings system if an action is performed on multiple/...
Definition: ISettingsHandler.h:16
Definition: UPnPSettings.h:17
void OnSettingsUnloaded() override
Setting values have been unloaded.
Definition: UPnPSettings.cpp:43