AccountInfo.hpp
Go to the documentation of this file.
1 // Copyright (c) 2019 Chris Ohk, Youngjoong Kim, SeungHyun Jeon
2 
3 // We are making my contributions/submissions to this project solely in our
4 // personal capacity and are not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef ROSETTASTONE_ACCOUNT_INFO_HPP
8 #define ROSETTASTONE_ACCOUNT_INFO_HPP
9 
11 
12 #include <vector>
13 
14 namespace RosettaStone
15 {
24 {
25  public:
27  AccountInfo();
28 
32  AccountInfo(std::string&& email, std::string&& nickname);
33 
39  AccountInfo(std::string&& email, std::string&& nickname,
40  std::vector<DeckInfo*> decks);
41 
44  std::string GetEmail() const;
45 
48  std::string GetNickname() const;
49 
52  std::size_t GetNumOfDeck() const;
53 
57  DeckInfo* GetDeck(std::size_t idx) const;
58 
60  void ShowDeckList() const;
61 
66  bool CreateDeck(std::string name, CardClass deckClass);
67 
71  bool DeleteDeck(std::size_t idx);
72 
73  private:
74  std::string m_email;
75  std::string m_nickname;
76  std::vector<DeckInfo*> m_decks;
77 };
78 } // namespace RosettaStone
79 
80 #endif // ROSETTASTONE_ACCOUNT_INFO_HPP
std::string GetEmail() const
std::size_t GetNumOfDeck() const
DeckInfo * GetDeck(std::size_t idx) const
void ShowDeckList() const
Prints a list of decks.
std::string GetNickname() const
DeckInfo class.
Definition: DeckInfo.hpp:23
AccountInfo()
Constructs anonymous account.
Definition: AccountInfo.hpp:14
bool CreateDeck(std::string name, CardClass deckClass)
bool DeleteDeck(std::size_t idx)
AccountInfo class.
Definition: AccountInfo.hpp:23