aboutsummaryrefslogtreecommitdiff
path: root/src/mnemonics
diff options
context:
space:
mode:
authorOran Juice <oranjuices@hotmail.com>2014-09-25 18:04:30 +0530
committerOran Juice <oranjuices@hotmail.com>2014-09-25 18:04:30 +0530
commita1ac92e185c49c5db0956bf4506f910fac5024e7 (patch)
tree73fc12156d4b9ff55e81113210af5aa8beb45e13 /src/mnemonics
parentCopies word lists directory to the location of the executable (diff)
downloadmonero-a1ac92e185c49c5db0956bf4506f910fac5024e7.tar.xz
Accepts seed language choice from user.
Diffstat (limited to '')
-rw-r--r--src/mnemonics/electrum-words.cpp19
-rw-r--r--src/mnemonics/electrum-words.h3
2 files changed, 20 insertions, 2 deletions
diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp
index 3d79ecf6e..756306014 100644
--- a/src/mnemonics/electrum-words.cpp
+++ b/src/mnemonics/electrum-words.cpp
@@ -42,6 +42,7 @@
#include <fstream>
#include "mnemonics/electrum-words.h"
#include <stdexcept>
+#include <boost/filesystem.hpp>
namespace
{
@@ -82,7 +83,7 @@ namespace crypto
namespace ElectrumWords
{
- void init(const std::string &language, bool old_word_list = false)
+ void init(const std::string &language, bool old_word_list)
{
if (old_word_list)
{
@@ -188,6 +189,22 @@ namespace crypto
return false;
}
+ void get_language_list(std::vector<std::string> &languages)
+ {
+ languages.clear();
+ boost::filesystem::path languages_directory("wordlists/languages");
+ if (!boost::filesystem::exists(languages_directory) ||
+ !boost::filesystem::is_directory(languages_directory))
+ {
+ throw std::runtime_error("Word list languages directory is missing.");
+ }
+ boost::filesystem::directory_iterator end;
+ for (boost::filesystem::directory_iterator it(languages_directory); it != end; it++)
+ {
+ languages.push_back(it->path().filename().string());
+ }
+ }
+
} // namespace ElectrumWords
} // namespace crypto
diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h
index 0ae01b6a6..4a3cdeb04 100644
--- a/src/mnemonics/electrum-words.h
+++ b/src/mnemonics/electrum-words.h
@@ -41,8 +41,9 @@ namespace crypto
{
namespace ElectrumWords
{
- void init(const std::string &language, bool old_word_list);
+ void init(const std::string &language, bool old_word_list=false);
bool words_to_bytes(const std::string& words, crypto::secret_key& dst);
bool bytes_to_words(const crypto::secret_key& src, std::string& words);
+ void get_language_list(std::vector<std::string> &languages);
}
}