pianod2
multisource multiuser scriptable networked music player
pandoraparameters.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include <string>
12 
13 #include "mediaparameters.h"
14 
15 namespace Pandora {
17 
19  // JSON protocol parameters
21  std::string rpc_host;
22  std::string partner;
23  std::string partner_password;
24  std::string device;
25  std::string encryption_key;
26  std::string decryption_key;
27 
30  };
31 
34  std::string proxy;
35  std::string control_proxy;
36  std::string username;
37  std::string password;
38  int pause_timeout{ 1800 };
39  int playlist_expiration{ 3600 };
40  int cache_minimum{ 4000 };
41  int cache_maximum{ 5000 };
42 
44 
46  ConnectionParameters (const ConnectionParameters &params) = default;
49  virtual bool persist (UserData::JSONData &dest) const override;
51  void extractOptions (const Parsnip::Data &options);
52  private:
53  void extract (const Parsnip::Data &options);
54  };
55 
56 } // namespace Pandora
Source parameter manager.
Definition: mediaparameters.h:39
Generic data type.
Definition: parsnip.h:81
std::vector< const char * > Definitions
Definition: parsnip_command.h:90
Store key-value pairs of string keys & mixed types using Parsnip::Data.
Definition: datastore.h:76
Class for source parameters and their parsing.
Pandora source, player and related datatype specializations.
Definition: pandora.h:32
ProtocolNature
Definition: pandoraparameters.h:16
Pandora connection and source settings.
Definition: pandoraparameters.h:33
ConnectionParameters()
Definition: pandoraparameters.cpp:65
int playlist_expiration
Definition: pandoraparameters.h:39
int cache_maximum
Definition: pandoraparameters.h:41
JSONProtocolParameters protocol
Definition: pandoraparameters.h:43
std::string password
Definition: pandoraparameters.h:37
virtual bool persist(UserData::JSONData &dest) const override
Copy connection parameters into a user settings dictionary.
Definition: pandoraparameters.cpp:189
ConnectionParameters(ConnectionParameters &&params)=default
void extract(const Parsnip::Data &options)
Definition: pandoraparameters.cpp:92
std::string username
Definition: pandoraparameters.h:36
int cache_minimum
Definition: pandoraparameters.h:40
std::string proxy
Definition: pandoraparameters.h:34
void extractOptions(const Parsnip::Data &options)
Definition: pandoraparameters.cpp:87
std::string control_proxy
Definition: pandoraparameters.h:35
static Parsnip::OptionParser::Definitions parser_definitions()
Definition: pandoraparameters.cpp:67
int pause_timeout
Definition: pandoraparameters.h:38
ConnectionParameters(const ConnectionParameters &params)=default
Definition: pandoraparameters.h:18
std::string partner
Definition: pandoraparameters.h:22
std::string decryption_key
Definition: pandoraparameters.h:26
static const JSONProtocolParameters PandoraPlus
Definition: pandoraparameters.h:29
std::string encryption_key
Definition: pandoraparameters.h:25
std::string device
Definition: pandoraparameters.h:24
ProtocolNature nature
Definition: pandoraparameters.h:20
std::string partner_password
Definition: pandoraparameters.h:23
static const JSONProtocolParameters Standard
Definition: pandoraparameters.h:28
std::string rpc_host
Definition: pandoraparameters.h:21