summaryrefslogtreecommitdiffstats
path: root/src/passwordconfiguration.h
blob: c852c34e0373f55d16501522482e37b6f137c812 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef PASSWORDCONFIGURATION_H
#define PASSWORDCONFIGURATION_H

#include <QString>

/*!
    \struct PasswordConfiguration
    \brief  Holds the Password configuration settings
 */
struct PasswordConfiguration {
  /**
   * \brief The selected character set.
   */
  enum characterSet {
    ALLCHARS = 0,
    ALPHABETICAL,
    ALPHANUMERIC,
    CUSTOM,
    CHARSETS_COUNT //  have to be last, for easier initialization of arrays
  } selected;
  /**
   * \brief Length of the password.
   */
  int length;
  /**
   * \brief The different character sets.
   */
  QString Characters[CHARSETS_COUNT];
  PasswordConfiguration() : selected(ALLCHARS), length(16) {
    Characters[ALLCHARS] =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&"
        "*()_-+={}[]|:;<>,.?"; /*AllChars*/
    Characters[ALPHABETICAL] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu"
                               "vwxyz"; /*Only Alphabetical*/
    Characters[ALPHANUMERIC] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu"
                               "vwxyz1234567890"; /*Alphabetical and Numerical*/
    Characters[CUSTOM] = Characters[ALLCHARS]; //  this may be redefined by user
  }
};

#endif // PASSWORDCONFIGURATION_H