]> vaikene.ee Git - evaf/commitdiff
Modified the PswGen application to follow the tutorial.
authorEnar Väikene <enar@vaikene.net>
Fri, 22 Jul 2011 13:53:00 +0000 (16:53 +0300)
committerEnar Väikene <enar@vaikene.net>
Fri, 22 Jul 2011 13:53:00 +0000 (16:53 +0300)
src/apps/PswGen/GUI/gui.cpp
src/apps/PswGen/GUI/gui.h
src/apps/PswGen/Generator/CMakeLists.txt
src/apps/PswGen/Generator/igenerator.h
src/apps/PswGen/Generator/module.cpp [moved from src/apps/PswGen/Generator/generator.cpp with 77% similarity]
src/apps/PswGen/Generator/module.h [moved from src/apps/PswGen/Generator/generator.h with 77% similarity]

index 34bd2f0028d89e69de8a8f51337257d492c70466..dad6f691c75df8418d82e71175856f23add5e4d3 100644 (file)
@@ -40,6 +40,8 @@ Q_EXPORT_PLUGIN2(VER_MODULE_NAME_STR, PswGen::GUI::Module)
 
 using namespace eVaf::PswGen::GUI;
 
 
 using namespace eVaf::PswGen::GUI;
 
+int const Module::DefaultPasswordLength = 16;
+
 Module::Module()
     : Plugins::iPlugin()
     , mReady(false)
 Module::Module()
     : Plugins::iPlugin()
     , mReady(false)
@@ -100,7 +102,7 @@ bool Module::init(QString const & args)
     wLength = new QSpinBox;
     l->setBuddy(wLength);
     wLength->setRange(0, mGenerator->maxLength());
     wLength = new QSpinBox;
     l->setBuddy(wLength);
     wLength->setRange(0, mGenerator->maxLength());
-    wLength->setValue(PswGen::iGenerator::DEFAULT_LENGTH);
+    wLength->setValue(DefaultPasswordLength);
     wLength->setSpecialValueText(tr("Maximum", VER_MODULE_NAME_STR));
     g->addWidget(wLength, 2, 1);
 
     wLength->setSpecialValueText(tr("Maximum", VER_MODULE_NAME_STR));
     g->addWidget(wLength, 2, 1);
 
@@ -162,7 +164,7 @@ void Module::generateClicked()
 {
     if (wMasterPassword->text().isEmpty() || wName->text().isEmpty())
         return;
 {
     if (wMasterPassword->text().isEmpty() || wName->text().isEmpty())
         return;
-    wPassword->setText(mGenerator->generatePassword(wName->text().toLatin1().constData(), wMasterPassword->text().toLatin1().constData(), wLength->value()));
+    wPassword->setText(mGenerator->generatePassword(wName->text(), wMasterPassword->text(), wLength->value()));
     wCopy->setEnabled(true);
 }
 
     wCopy->setEnabled(true);
 }
 
index e9607e4ee8a142e2d4259c5a2cfe5d604f21d8a0..6f04019a849c0bc8e4c87946a120e21f91c6d5ee 100644 (file)
@@ -70,6 +70,8 @@ private slots:
 
 private: // Members
 
 
 private: // Members
 
+    static int const DefaultPasswordLength;
+
     /// Flag indicating that the module is ready
     bool mReady;
 
     /// Flag indicating that the module is ready
     bool mReady;
 
index ffaba79cdca32c57893c21033b871e77b18b2db5..dbf88efb09d68f9391f751ceb564b94d6703664a 100644 (file)
@@ -16,13 +16,13 @@ set(eVaf_LIBRARIES CommonLib PluginsLib)
 
 # Source files
 set(SRCS
 
 # Source files
 set(SRCS
-    generator.cpp
+    module.cpp
 )
 
 # Header files for the meta-object compiler
 set(MOC_HDRS
     igenerator.h
 )
 
 # Header files for the meta-object compiler
 set(MOC_HDRS
     igenerator.h
-    generator.h
+    module.h
 )
 
 # Version info resource file for Windows builds
 )
 
 # Version info resource file for Windows builds
index d5122f21b9068b39465ab52343140fe8244f9f10..a702167a3778f8044feca015ce728dd7c911335b 100644 (file)
@@ -23,6 +23,7 @@
 #include "lib.h"
 
 #include <QObject>
 #include "lib.h"
 
 #include <QObject>
+#include <QString>
 
 namespace eVaf {
 namespace PswGen {
 
 namespace eVaf {
 namespace PswGen {
@@ -39,7 +40,7 @@ class PSWGEN_GENERATOR_EXPORT iGenerator : public QObject
 public:
 
     /// Interface constructor
 public:
 
     /// Interface constructor
-    iGenerator() {}
+    iGenerator() : QObject() {}
 
     /// Empty virtual destructor
     virtual ~iGenerator() {}
 
     /// Empty virtual destructor
     virtual ~iGenerator() {}
@@ -51,18 +52,11 @@ public:
         ALPHANUMERIC            = 0x01              ///< Generated password contains only alphanumeric characters
     };
 
         ALPHANUMERIC            = 0x01              ///< Generated password contains only alphanumeric characters
     };
 
-    /**
-     * Default length of the generated password
-     */
-    enum {
-        DEFAULT_LENGTH          = 16
-    };
-
     /**
      * Generates a strong password
      * @param name Name of the password
      * @param masterPassword Master password
     /**
      * Generates a strong password
      * @param name Name of the password
      * @param masterPassword Master password
-     * @param length Length of the password
+     * @param length Length of the password (if zero, then uses the max length)
      * @param flags Flags for the generator
      * @return Generated password
      *
      * @param flags Flags for the generator
      * @return Generated password
      *
@@ -75,7 +69,7 @@ public:
      *
      * Optional flags can be used to fine-tune the generator.
      */
      *
      * Optional flags can be used to fine-tune the generator.
      */
-    virtual QString generatePassword(char const * const name, char const * const masterPassword, int length = DEFAULT_LENGTH, uint flags = 0) = 0;
+    virtual QString generatePassword(QString const & name, QString const & masterPassword, int length, uint flags = 0) const = 0;
 
     /**
      * Returns the maximum length of generated passwords
 
     /**
      * Returns the maximum length of generated passwords
similarity index 77%
rename from src/apps/PswGen/Generator/generator.cpp
rename to src/apps/PswGen/Generator/module.cpp
index 01f1a93121864a65ef7fc78e4a1c80993527dc50..27354f52a630575fa5e9e1ff3f99d3f58b501923 100644 (file)
@@ -1,5 +1,5 @@
 /**
 /**
- * @file PswGen/Generator/generator.cpp
+ * @file PswGen/Generator/module.cpp
  * @brief Implementation of the iGenerator interface
  * @author Enar Vaikene
  *
  * @brief Implementation of the iGenerator interface
  * @author Enar Vaikene
  *
@@ -17,7 +17,7 @@
  * Agreement provided with the Software.
  */
 
  * Agreement provided with the Software.
  */
 
-#include "generator.h"
+#include "module.h"
 #include "version.h"
 
 #include <Common/iLogger>
 #include "version.h"
 
 #include <Common/iLogger>
@@ -25,6 +25,9 @@
 
 #include <QtCore>
 
 
 #include <QtCore>
 
+VER_EXPORT_VERSION_INFO()
+Q_EXPORT_PLUGIN2(VER_MODULE_NAME_STR, eVaf::PswGen::Generator::Module)
+
 using namespace eVaf;
 using namespace eVaf::PswGen;
 using namespace eVaf::PswGen::Generator;
 using namespace eVaf;
 using namespace eVaf::PswGen;
 using namespace eVaf::PswGen::Generator;
@@ -33,7 +36,6 @@ using namespace eVaf::PswGen::Generator;
 
 Module::Module()
     : Plugins::iPlugin()
 
 Module::Module()
     : Plugins::iPlugin()
-    , mReady(false)
 {
     setObjectName(QString("%1.%2").arg(VER_MODULE_NAME_STR).arg(__FUNCTION__));
 
 {
     setObjectName(QString("%1.%2").arg(VER_MODULE_NAME_STR).arg(__FUNCTION__));
 
@@ -49,15 +51,10 @@ Module::~Module()
     EVAF_INFO("%s destroyed", qPrintable(objectName()));
 }
 
     EVAF_INFO("%s destroyed", qPrintable(objectName()));
 }
 
-bool Module::init(const QString & args)
+bool Module::init(QString const & args)
 {
     Q_UNUSED(args);
 
 {
     Q_UNUSED(args);
 
-    if (!mGenerator->init())
-        return false;
-
-    mReady = true;
-
     EVAF_INFO("%s initialized", qPrintable(objectName()));
 
     return true;
     EVAF_INFO("%s initialized", qPrintable(objectName()));
 
     return true;
@@ -65,10 +62,6 @@ bool Module::init(const QString & args)
 
 void Module::done()
 {
 
 void Module::done()
 {
-    mReady = false;
-
-    mGenerator->done();
-
     EVAF_INFO("%s finalized", qPrintable(objectName()));
 }
 
     EVAF_INFO("%s finalized", qPrintable(objectName()));
 }
 
@@ -92,20 +85,10 @@ GeneratorImpl::~GeneratorImpl()
     EVAF_INFO("%s destroyed", qPrintable(objectName()));
 }
 
     EVAF_INFO("%s destroyed", qPrintable(objectName()));
 }
 
-bool GeneratorImpl::init()
-{
-    EVAF_INFO("%s initialized", qPrintable(objectName()));
-
-    return true;
-}
-
-void GeneratorImpl::done()
+QString GeneratorImpl::generatePassword(QString const & name, QString const & masterPassword, int length, uint flags) const
 {
 {
-    EVAF_INFO("%s finalized", qPrintable(objectName()));
-}
+    Q_UNUSED(flags);
 
 
-QString GeneratorImpl::generatePassword(char const * const name, char const * const masterPassword, int length, uint flags)
-{
     QByteArray inputString = QString("%1%2").arg(name).arg(masterPassword).toLatin1();
     QCryptographicHash hash(QCryptographicHash::Md5);
     hash.addData(inputString);
     QByteArray inputString = QString("%1%2").arg(name).arg(masterPassword).toLatin1();
     QCryptographicHash hash(QCryptographicHash::Md5);
     hash.addData(inputString);
@@ -115,9 +98,3 @@ QString GeneratorImpl::generatePassword(char const * const name, char const * co
     else
         return result;
 }
     else
         return result;
 }
-
-
-//-------------------------------------------------------------------
-
-VER_EXPORT_VERSION_INFO()
-Q_EXPORT_PLUGIN2(VER_MODULE_NAME_STR, Module)
similarity index 77%
rename from src/apps/PswGen/Generator/generator.h
rename to src/apps/PswGen/Generator/module.h
index 3c3096fcd5a8f8d8ad438416df17bd7ac5789812..a1be474308b283ebf564d29acd66c0dc2692469f 100644 (file)
@@ -1,5 +1,5 @@
 /**
 /**
- * @file PswGen/Generator/generator.h
+ * @file PswGen/Generator/module.h
  * @brief Implementation of the iGenerator interface
  * @author Enar Vaikene
  *
  * @brief Implementation of the iGenerator interface
  * @author Enar Vaikene
  *
  * Agreement provided with the Software.
  */
 
  * Agreement provided with the Software.
  */
 
-#ifndef __PSWGEN_GENERATOR_GENERATOR_H
-#  define __PSWGEN_GENERATOR_GENERATOR_H
+#ifndef __PSWGEN_GENERATOR_MODULE_H
+#  define __PSWGEN_GENERATOR_MODULE_H
 
 #include "igenerator.h"
 
 #include <Plugins/iPlugin>
 
 #include <QObject>
 
 #include "igenerator.h"
 
 #include <Plugins/iPlugin>
 
 #include <QObject>
+#include <QString>
 
 namespace eVaf {
 namespace PswGen {
 
 namespace eVaf {
 namespace PswGen {
@@ -34,68 +35,66 @@ namespace Generator {
 
 /// Internal implementation of the Generator module
 namespace Internal {
 
 /// Internal implementation of the Generator module
 namespace Internal {
+    class GeneratorImpl;
+} // namespace eVaf::PswGen::Generator::Internal
 
 /**
 
 /**
- * iGenerator interface implementation.
- *
- * Implements the iGenerator interface using MD5 cryptographic hashes.
+ * Module implementing the iGenerator interface.
  */
  */
-
-class GeneratorImpl : public iGenerator
+class Module : public Plugins::iPlugin
 {
     Q_OBJECT
 
 public:
 
 {
     Q_OBJECT
 
 public:
 
-    GeneratorImpl();
+    Module();
 
 
-    virtual ~GeneratorImpl();
+    virtual ~Module();
 
 
-    bool init();
+    virtual bool init(QString const & args);
 
 
-    void done();
+    virtual void done();
 
 
-    virtual QString generatePassword(char const * const name, char const * const masterPassword, int length = iGenerator::DEFAULT_LENGTH, uint flags = 0);
+    virtual bool isReady() const { return true; }
 
 
-    virtual int maxLength() const { return 24; }
+
+private: // Members
+
+    /// iGenerator interface instance
+    Internal::GeneratorImpl * mGenerator;
 
 };
 
 
 };
 
-} // namespace eVaf::PswGen::Generator::Internal
+
+namespace Internal {
 
 /**
 
 /**
- * Module implementing the iGenerator interface.
+ * iGenerator interface implementation.
+ *
+ * Implements the iGenerator interface using MD5 cryptographic hashes.
  */
  */
-class Module : public Plugins::iPlugin
+
+class GeneratorImpl : public iGenerator
 {
     Q_OBJECT
 
 public:
 
 {
     Q_OBJECT
 
 public:
 
-    Module();
-
-    virtual ~Module();
-
-    virtual bool init(const QString & args);
-
-    virtual void done();
-
-    virtual bool isReady() const { return mReady; }
-
+    GeneratorImpl();
 
 
-private: // Members
+    virtual ~GeneratorImpl();
 
 
-    /// Flag indicating that the module is ready
-    bool mReady;
+    virtual QString generatePassword(QString const & name, QString const & masterPassword, int length, uint flags = 0) const;
 
 
-    /// iGenerator interface instance
-    Internal::GeneratorImpl * mGenerator;
+    virtual int maxLength() const { return 24; }
 
 };
 
 
 };
 
+} // namespace eVaf::PswGen::Generator::Internal
+
 
 } // namespace eVaf::PswGen::Generator
 } // namespace eVaf::PswGen
 } // namespace eVaf
 
 
 } // namespace eVaf::PswGen::Generator
 } // namespace eVaf::PswGen
 } // namespace eVaf
 
-#endif // generator.h
+#endif // module.h