[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/kdepim/enterprise4/kdepim/kleopatra/commands
From:       Marc Mutz <mutz () kde ! org>
Date:       2008-06-26 11:10:43
Message-ID: 1214478643.250608.13275.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 824621 by mutz:

Allow to set signing and encryption policies. Now we have three different ways to \
represent the same concept :/

 M  +70 -0     signencryptfilescommand.cpp  
 M  +8 -0      signencryptfilescommand.h  


--- branches/kdepim/enterprise4/kdepim/kleopatra/commands/signencryptfilescommand.cpp \
#824620:824621 @@ -140,6 +140,76 @@
     d->files = files;
 }
 
+void SignEncryptFilesCommand::setSigningPolicy( Policy policy ) {
+    unsigned int mode = d->controller.operationMode();
+    mode &= ~SignEncryptFilesController::SignMask;
+    switch ( policy ) {
+    case NoPolicy:
+    case Allow:
+        mode |= SignEncryptFilesController::SignAllowed ;
+        break;
+    case Deny:
+        mode |= SignEncryptFilesController::SignDisallowed ;
+        break;
+    case Force:
+        mode |= SignEncryptFilesController::SignForced ;
+        break;
+    }
+    try {
+        d->controller.setOperationMode( mode );
+    } catch ( ... ) {}
+}
+
+Policy SignEncryptFilesCommand::signingPolicy() const {
+    const unsigned int mode = d->controller.operationMode();
+    switch ( mode & SignEncryptFilesController::SignMask ) {
+    default:
+        assert( !"This shouldn't happen!" );
+        return NoPolicy;
+    case SignEncryptFilesController::SignAllowed:
+        return Allow;
+    case SignEncryptFilesController::SignForced:
+        return Force;
+    case SignEncryptFilesController::SignDisallowed:
+        return Deny;
+    }
+}
+
+void SignEncryptFilesCommand::setEncryptionPolicy( Policy policy ) {
+    unsigned int mode = d->controller.operationMode();
+    mode &= ~SignEncryptFilesController::EncryptMask;
+    switch ( policy ) {
+    case NoPolicy:
+    case Allow:
+        mode |= SignEncryptFilesController::EncryptAllowed ;
+        break;
+    case Deny:
+        mode |= SignEncryptFilesController::EncryptDisallowed ;
+        break;
+    case Force:
+        mode |= SignEncryptFilesController::EncryptForced ;
+        break;
+    }
+    try {
+        d->controller.setOperationMode( mode );
+    } catch ( ... ) {}
+}
+
+Policy SignEncryptFilesCommand::encryptionPolicy() const {
+    const unsigned int mode = d->controller.operationMode();
+    switch ( mode & SignEncryptFilesController::EncryptMask ) {
+    default:
+        assert( !"This shouldn't happen!" );
+        return NoPolicy;
+    case SignEncryptFilesController::EncryptAllowed:
+        return Allow;
+    case SignEncryptFilesController::EncryptForced:
+        return Force;
+    case SignEncryptFilesController::EncryptDisallowed:
+        return Deny;
+    }
+}
+
 void SignEncryptFilesCommand::doStart() {
 
     try {
--- branches/kdepim/enterprise4/kdepim/kleopatra/commands/signencryptfilescommand.h \
#824620:824621 @@ -37,6 +37,8 @@
 
 #include <crypto/controller.h>
 
+#include <utils/types.h>
+
 class QStringList;
 
 namespace Kleo {
@@ -53,6 +55,12 @@
 
         void setFiles( const QStringList & files );
 
+        void setSigningPolicy( Policy policy );
+        Policy signingPolicy() const;
+
+        void setEncryptionPolicy( Policy force );
+        Policy encryptionPolicy() const;
+
     private:
         /* reimp */ void doStart();
         /* reimp */ void doCancel();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic