Diffstat (limited to 'libopie2/opiesecurity/multiauthcommon.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiesecurity/multiauthcommon.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/libopie2/opiesecurity/multiauthcommon.cpp b/libopie2/opiesecurity/multiauthcommon.cpp index e563193..2760760 100644 --- a/libopie2/opiesecurity/multiauthcommon.cpp +++ b/libopie2/opiesecurity/multiauthcommon.cpp | |||
@@ -1,94 +1,97 @@ | |||
1 | #include "multiauthplugininterface.h" | 1 | #include "multiauthplugininterface.h" |
2 | #include "multiauthcommon.h" | 2 | #include "multiauthcommon.h" |
3 | 3 | ||
4 | /* Opie */ | 4 | /* Opie */ |
5 | #include <opie2/odebug.h> | 5 | #include <opie2/odebug.h> |
6 | #include <opie2/oapplication.h> | 6 | #include <opie2/oapplication.h> |
7 | #include <opie2/ocontactaccessbackend_vcard.h> | ||
8 | #include <opie2/ocontactaccess.h> | ||
7 | 9 | ||
8 | /* Qt */ | 10 | /* Qt */ |
9 | #include <qpe/qpeapplication.h> | 11 | #include <qpe/qpeapplication.h> |
10 | #include <qpe/qlibrary.h> | 12 | #include <qpe/qlibrary.h> |
11 | #include <qpe/qcom.h> | 13 | #include <qpe/qcom.h> |
12 | #include <qtextview.h> | 14 | #include <qtextview.h> |
13 | #include <qdir.h> | 15 | #include <qdir.h> |
14 | 16 | ||
15 | /* UNIX */ | 17 | /* UNIX */ |
16 | #include <unistd.h> | 18 | #include <unistd.h> |
17 | #include <qpe/config.h> | 19 | #include <qpe/config.h> |
18 | 20 | ||
19 | namespace Opie { | 21 | namespace Opie { |
20 | namespace Security { | 22 | namespace Security { |
21 | 23 | ||
22 | SecOwnerDlg::SecOwnerDlg( QWidget *parent, const char * name, Contact c, | 24 | SecOwnerDlg::SecOwnerDlg( QWidget *parent, const char * name, const QString& c, |
23 | bool modal, bool fullscreen = FALSE ) | 25 | bool modal, bool fullscreen = FALSE ) |
24 | : QDialog( parent, name, modal, | 26 | : QDialog( parent, name, modal, |
25 | fullscreen ? | 27 | fullscreen ? |
26 | WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop : 0 ) | 28 | WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop : 0 ) |
27 | { | 29 | { |
28 | if ( fullscreen ) { | 30 | if ( fullscreen ) { |
29 | QRect desk = qApp->desktop()->geometry(); | 31 | QRect desk = qApp->desktop()->geometry(); |
30 | setGeometry( 0, 0, desk.width(), desk.height() ); | 32 | setGeometry( 0, 0, desk.width(), desk.height() ); |
31 | } | 33 | } |
32 | // set up contents. | 34 | // set up contents. |
33 | QString text("<H3>" + tr("Please contact the owner (directions follow), or try again clicking of this screen (and waiting for the penalty time) if you are the legitimate owner") + "</H3>"); | 35 | QString text("<H3>" + tr("Please contact the owner (directions follow), or try again clicking of this screen (and waiting for the penalty time) if you are the legitimate owner") + "</H3>"); |
34 | text += c.toRichText(); | 36 | text += c; |
35 | tv = new QTextView(this); | 37 | tv = new QTextView(this); |
36 | tv->setText(text); | 38 | tv->setText(text); |
37 | 39 | ||
38 | tv->viewport()->installEventFilter(this); | 40 | tv->viewport()->installEventFilter(this); |
39 | } | 41 | } |
40 | 42 | ||
41 | void SecOwnerDlg::resizeEvent( QResizeEvent * ) | 43 | void SecOwnerDlg::resizeEvent( QResizeEvent * ) |
42 | { | 44 | { |
43 | tv->resize( size() ); | 45 | tv->resize( size() ); |
44 | } | 46 | } |
45 | 47 | ||
46 | bool SecOwnerDlg::eventFilter(QObject *o, QEvent *e) | 48 | bool SecOwnerDlg::eventFilter(QObject *o, QEvent *e) |
47 | { | 49 | { |
48 | if (e->type() == QEvent::KeyPress || e->type() == QEvent::MouseButtonPress ) { | 50 | if (e->type() == QEvent::KeyPress || e->type() == QEvent::MouseButtonPress ) { |
49 | accept(); | 51 | accept(); |
50 | return TRUE; | 52 | return TRUE; |
51 | } | 53 | } |
52 | return QWidget::eventFilter(o, e); | 54 | return QWidget::eventFilter(o, e); |
53 | } | 55 | } |
54 | 56 | ||
55 | void SecOwnerDlg::mousePressEvent( QMouseEvent * ) { accept(); } | 57 | void SecOwnerDlg::mousePressEvent( QMouseEvent * ) { accept(); } |
56 | 58 | ||
57 | 59 | ||
58 | namespace Internal { | 60 | namespace Internal { |
59 | /// run plugins until we reach nbSuccessMin successes | 61 | /// run plugins until we reach nbSuccessMin successes |
60 | int runPlugins() { | 62 | int runPlugins() { |
61 | 63 | ||
62 | SecOwnerDlg *oi = 0; | 64 | SecOwnerDlg *oi = 0; |
63 | // see if there is contact information. | 65 | // see if there is contact information. |
64 | QString vfilename = Global::applicationFileName("addressbook", | 66 | QString vfilename = Global::applicationFileName("addressbook", |
65 | "businesscard.vcf"); | 67 | "businesscard.vcf"); |
66 | if (QFile::exists(vfilename)) { | 68 | Opie::OPimContactAccess acc( "multiauth", vfilename, |
67 | Contact c; | 69 | new Opie::OPimContactAccessBackend_VCard( "multiauth", vfilename ) ); |
68 | c = Contact::readVCard( vfilename )[0]; | 70 | if ( acc.load() ) { |
69 | 71 | Opie::OPimContact contact = acc.allRecords()[0]; | |
70 | oi = new SecOwnerDlg(0, 0, c, TRUE, TRUE); | 72 | if ( !contact.isEmpty() ) |
73 | oi = new SecOwnerDlg(0, 0, contact.toRichText(), TRUE, TRUE); | ||
71 | } | 74 | } |
72 | 75 | ||
73 | Config config("Security"); | 76 | Config config("Security"); |
74 | config.setGroup("Plugins"); | 77 | config.setGroup("Plugins"); |
75 | QStringList plugins = config.readListEntry("IncludePlugins", ','); | 78 | QStringList plugins = config.readListEntry("IncludePlugins", ','); |
76 | /* if there are no configured plugins, we simply return 0 to | 79 | /* if there are no configured plugins, we simply return 0 to |
77 | * let the user in: | 80 | * let the user in: |
78 | */ | 81 | */ |
79 | if (plugins.isEmpty() == true) { | 82 | if (plugins.isEmpty() == true) { |
80 | owarn << "No authentication plugin has been configured yet!" << oendl; | 83 | owarn << "No authentication plugin has been configured yet!" << oendl; |
81 | odebug << "Letting the user in..." << oendl; | 84 | odebug << "Letting the user in..." << oendl; |
82 | if(oi) delete oi; | 85 | if(oi) delete oi; |
83 | return 0; | 86 | return 0; |
84 | } | 87 | } |
85 | config.setGroup("Misc"); | 88 | config.setGroup("Misc"); |
86 | int nbSuccessMin = config.readNumEntry("nbSuccessMin", 1); | 89 | int nbSuccessMin = config.readNumEntry("nbSuccessMin", 1); |
87 | int nbSuccess = 0; | 90 | int nbSuccess = 0; |
88 | 91 | ||
89 | /* tries to launch successively each plugin in $OPIEDIR/plugins/security | 92 | /* tries to launch successively each plugin in $OPIEDIR/plugins/security |
90 | * directory which file name is in Security.conf / [Misc] / IncludePlugins | 93 | * directory which file name is in Security.conf / [Misc] / IncludePlugins |
91 | */ | 94 | */ |
92 | QString path = QPEApplication::qpeDir() + "plugins/security"; | 95 | QString path = QPEApplication::qpeDir() + "plugins/security"; |
93 | QStringList::Iterator libIt; | 96 | QStringList::Iterator libIt; |
94 | 97 | ||
@@ -165,31 +168,31 @@ int runPlugins() { | |||
165 | nbSuccess++; | 168 | nbSuccess++; |
166 | break; | 169 | break; |
167 | case MultiauthPluginObject::Failure: | 170 | case MultiauthPluginObject::Failure: |
168 | resultMessage = "Failure..."; | 171 | resultMessage = "Failure..."; |
169 | break; | 172 | break; |
170 | case MultiauthPluginObject::Skip: | 173 | case MultiauthPluginObject::Skip: |
171 | resultMessage = "Skip"; | 174 | resultMessage = "Skip"; |
172 | break; | 175 | break; |
173 | } | 176 | } |
174 | odebug << "Plugin result: " << resultMessage << oendl; | 177 | odebug << "Plugin result: " << resultMessage << oendl; |
175 | } | 178 | } |
176 | delete lib; | 179 | delete lib; |
177 | 180 | ||
178 | if (resultCode == MultiauthPluginObject::Success && nbSuccess == nbSuccessMin) | 181 | if (resultCode == MultiauthPluginObject::Success && nbSuccess == nbSuccessMin) |
179 | { | 182 | { |
180 | if(oi) delete oi; | 183 | if(oi) delete oi; |
181 | // we have reached the required number of successes, we can exit the plugin loop | 184 | // we have reached the required number of successes, we can exit the plugin loop |
182 | return 0; | 185 | return 0; |
183 | } | 186 | } |
184 | } else { | 187 | } else { |
185 | owarn << "Could not recognize plugin " << QString( path + "/" + *libIt ) << oendl; | 188 | owarn << "Could not recognize plugin " << QString( path + "/" + *libIt ) << oendl; |
186 | delete lib; | 189 | delete lib; |
187 | } // end if plugin recognized | 190 | } // end if plugin recognized |
188 | } //end for | 191 | } //end for |
189 | if(oi) delete oi; | 192 | delete oi; |
190 | return 1; | 193 | return 1; |
191 | } | 194 | } |
192 | 195 | ||
193 | } | 196 | } |
194 | } | 197 | } |
195 | } | 198 | } |