libzypp  17.35.11
userrequest.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
9 #include "userrequest.h"
10 #include <string>
11 #include <utility>
12 
13 namespace zyppng
14 {
16  : _userData( std::move(userData) )
17  { }
18 
20  { }
21 
23  {
24  return _userData;
25  }
26 
28  {
29  return _userData;
30  }
31 
32  ZYPP_IMPL_PRIVATE_CONSTR_ARGS(ShowMessageRequest, std::string message, MType mType, UserData data )
33  : UserRequest( std::move(data) )
34  , _type( mType )
35  , _message( std::move(message) )
36  { }
37 
39  {
41  }
42 
44  {
45  return _type;
46  }
47 
48  const std::string &ShowMessageRequest::message() const
49  {
50  return _message;
51  }
52 
53  ZYPP_IMPL_PRIVATE_CONSTR_ARGS(ListChoiceRequest, std::string label, std::vector<Choice> answers, index_type defaultAnswer, UserData userData )
54  : UserRequest( std::move(userData) )
55  , _label( std::move(label) )
56  , _answers( std::move(answers) )
57  , _answer( std::move(defaultAnswer) )
58  , _default( std::move(defaultAnswer) )
59  { }
60 
62  {
64  }
65 
66  const std::string &ListChoiceRequest::label() const
67  {
68  return _label;
69  }
70 
72  {
73  if ( sel >= _answers.size() )
74  ZYPP_THROW( std::logic_error("Selection index is out of range") );
75  _answer = sel;
76  }
77 
79  {
80  return _answer;
81  }
82 
84  {
85  return _default;
86  }
87 
88  const std::vector<ListChoiceRequest::Choice> &ListChoiceRequest::answers() const
89  {
90  return _answers;
91  }
92 
93  ZYPP_IMPL_PRIVATE_CONSTR_ARGS(BooleanChoiceRequest, std::string label, const bool defaultAnswer, UserData userData )
94  : UserRequest( std::move(userData) )
95  , _label( std::move(label) )
96  , _answer( defaultAnswer )
97  { }
98 
100  {
102  }
103 
104  const std::string &BooleanChoiceRequest::label() const
105  {
106  return _label;
107  }
108 
109  void BooleanChoiceRequest::setChoice(const bool sel)
110  {
111  _answer = sel;
112  }
113 
115  {
116  return _answer;
117  }
118 
119 }
index_type choice() const
Definition: userrequest.cc:78
const std::string & label() const
Definition: userrequest.cc:104
UserRequestType type() const override
Definition: userrequest.cc:99
UserRequestType type() const override
Definition: userrequest.cc:61
#define ZYPP_THROW(EXCPT)
Drops a logline and throws the Exception.
Definition: Exception.h:424
UserRequestType
Definition: userrequest.h:34
Definition: Arch.h:363
const std::string & label() const
Definition: userrequest.cc:66
const UserData & userData() const
Definition: userrequest.cc:22
index_type defaultAnswer() const
Definition: userrequest.cc:83
const std::vector< Choice > & answers() const
Definition: userrequest.cc:88
void setChoice(const bool sel)
Definition: userrequest.cc:109
std::vector< Choice >::size_type index_type
Definition: userrequest.h:130
std::vector< Choice > _answers
Definition: userrequest.h:147
const std::string & message() const
Definition: userrequest.cc:48
UserRequest(UserData userData={})
Definition: userrequest.cc:15
Typesafe passing of user data via callbacks.
Definition: UserData.h:39
ZYPP_IMPL_PRIVATE_CONSTR_ARGS(TrustKeyRequest, std::string label, KeyTrust trust, UserData userData)
Definition: userrequest.cc:34
UserRequestType type() const override
Definition: userrequest.cc:38
~UserRequest() override
Definition: userrequest.cc:19
void setChoice(const index_type sel)
Definition: userrequest.cc:71