summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiecore/osmartpointer.h2
-rw-r--r--libopie2/opiesecurity/multiauthpassword.cpp2
-rw-r--r--libopie2/opiesecurity/multiauthpassword.h2
3 files changed, 3 insertions, 3 deletions
diff --git a/libopie2/opiecore/osmartpointer.h b/libopie2/opiecore/osmartpointer.h
index c7dc9d9..e9cee0c 100644
--- a/libopie2/opiecore/osmartpointer.h
+++ b/libopie2/opiecore/osmartpointer.h
@@ -1,149 +1,149 @@
// -*- Mode: C++; -*-
/*
This file is part of the Opie Project
Copyright (C) 2004 Rajko Albrecht <alwin@handhelds.org>
Copyright (C) The Opie Team <opie-devel@handhelds.org>
=.
.=l.
.>+-=
_;:, .> :=|. This program is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. This program is distributed in the hope that
+ . -:. = it will be useful, but WITHOUT ANY WARRANTY;
: .. .:, . . . without even the implied warranty of
=_ + =;=|` MERCHANTABILITY or FITNESS FOR A
_.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef _OSmartPointer_h
#define _OSmartPointer_h
#include <stddef.h>
/*!
- * \file OSmartPointer.h
+ * \file osmartpointer.h
* \brief smart pointer and reference counter
* \author Rajko Albrecht
*
*/
namespace Opie {
namespace Core {
//! simple reference counter class
class ORefCount {
protected:
//! reference count member
long m_RefCount;
public:
//! first reference must be added after "new" via Pointer()
ORefCount() : m_RefCount(0)
{}
virtual ~ORefCount() {}
//! add a reference
void Incr() {
++m_RefCount;
}
//! delete a reference
void Decr() {
--m_RefCount;
}
//! is it referenced
bool Shared() { return (m_RefCount > 0); }
};
//! reference counting wrapper class
template<class T> class OSmartPointer {
//! pointer to object
/*!
* this object must contain Incr(), Decr() and Shared()
* methode as public members. The best way is, that it will be a child
* class of RefCount
*/
T *ptr;
public:
//! standart constructor
OSmartPointer() { ptr = NULL; }
//! standart destructor
/*!
* release the reference, if it were the last reference, destroys
* ptr
*/
~OSmartPointer()
{
if (ptr){
ptr->Decr();
if (!ptr->Shared())
delete ptr;
}
}
//! construction
OSmartPointer(T* t) { if (ptr = t) ptr->Incr(); }
//! Pointer copy
OSmartPointer(const OSmartPointer<T>& p)
{ if (ptr = p.ptr) ptr->Incr(); }
//! pointer copy by assignment
OSmartPointer<T>& operator= (const OSmartPointer<T>& p)
{
// already same: nothing to do
if (ptr == p.ptr) return *this;
// decouple reference
if (ptr) { ptr->Decr(); if (!ptr->Shared()) delete ptr; }
// establish new reference
if (ptr = p.ptr) ptr->Incr();
return *this;
}
OSmartPointer<T>& operator= (T*p)
{
if (ptr==p)return *this;
if (ptr) {
ptr->Decr();
if (!ptr->Shared()) delete ptr;
}
if (ptr=p) ptr->Incr();
return *this;
}
//! cast to conventional pointer
operator T* () const { return ptr; }
//! deref: fails for NULL pointer
T& operator* () {return *ptr; }
//! deref: fails for NULL pointer
const T& operator* ()const {return *ptr; }
//! deref with method call
T* operator-> () {return ptr; }
//! deref with const method call
const T* operator-> ()const {return ptr; }
//! supports "if (pointer)"
operator bool () const { return (ptr != NULL); }
//! "if (pointer)" as non const
operator bool () { return ptr != NULL;}
//! support if (!pointer)"
bool operator! () const { return (ptr == NULL); }
//! support if (!pointer)" as non const
bool operator! () { return (ptr == NULL); }
};
}
}
#endif
diff --git a/libopie2/opiesecurity/multiauthpassword.cpp b/libopie2/opiesecurity/multiauthpassword.cpp
index b9c8a39..b793717 100644
--- a/libopie2/opiesecurity/multiauthpassword.cpp
+++ b/libopie2/opiesecurity/multiauthpassword.cpp
@@ -1,106 +1,106 @@
/**
- * \file multiauthpassord.cpp
+ * \file multiauthpassword.cpp
* \brief Password Dialog dropin.
* \author Clément Séveillac (clement . seveillac (at) via . ecp . fr)
*/
/*
=. This file is part of the Opie Project
.=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org>
.>+-=
_;:, .> :=|. This library is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. This library is distributed in the hope that
+ . -:. = it will be useful, but WITHOUT ANY WARRANTY;
: .. .:, . . . without even the implied warranty of
=_ + =;=|` MERCHANTABILITY or FITNESS FOR A
_.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
/* OPIE */
#include <opie2/multiauthcommon.h>
#include <opie2/multiauthmainwindow.h>
#include <qpe/config.h>
#include <qpe/qlibrary.h>
#include <qpe/qcom.h>
/* QT */
#include <qapplication.h>
#include <qvbox.h>
#include <qpushbutton.h>
#include <qlabel.h>
#include <qdir.h>
#include "multiauthpassword.h"
namespace Opie {
namespace Security {
/**
* If the users requires authentication... #fixme
*
* @todo fix up at_poweron attribute
*/
bool MultiauthPassword::needToAuthenticate(bool at_poweron)
{
Config cfg("Security");
cfg.setGroup("Misc");
if ( !at_poweron && cfg.readBoolEntry("onStart", false) )
return true;
else if ( at_poweron && cfg.readBoolEntry("onResume", false) )
return true;
else
return false;
}
/**
* \brief Require user authentication to unlock and continue
*
* This method will check if you require authentication
* and then will lock the screen and require a succesfull
* authentication.
* Authenticate may enter the event loop and only returns
* if the user sucesfully authenticated to the system.
*
* @return only if succesfully authenticated
*/
void MultiauthPassword::authenticate(bool at_poweron)
{
if ( ! needToAuthenticate(at_poweron) )
return;
/* Constructs the main window, which displays messages and blocks
* access to the desktop
*/
MultiauthMainWindow win;
// resize the QDialog object so it fills all the screen
QRect desk = qApp->desktop()->geometry();
win.setGeometry( 0, 0, desk.width(), desk.height() );
// the authentication has already succeeded (without win interactions)
if ( win.isAlreadyDone() )
return;
win.exec();
}
}
}
diff --git a/libopie2/opiesecurity/multiauthpassword.h b/libopie2/opiesecurity/multiauthpassword.h
index 3be8322..f43934d 100644
--- a/libopie2/opiesecurity/multiauthpassword.h
+++ b/libopie2/opiesecurity/multiauthpassword.h
@@ -1,59 +1,59 @@
/**
- * \file multiauthpassord.h
+ * \file multiauthpassword.h
* \brief Password Dialog dropin.
* \author Clément Séveillac (clement . seveillac (at) via . ecp . fr)
*/
/*
=. This file is part of the Opie Project
.=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org>
.>+-=
_;:, .> :=|. This library is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. This library is distributed in the hope that
+ . -:. = it will be useful, but WITHOUT ANY WARRANTY;
: .. .:, . . . without even the implied warranty of
=_ + =;=|` MERCHANTABILITY or FITNESS FOR A
_.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef OPIE_SEC_MULTIAUTHPASSWORD_H
#define OPIE_SEC_MULTIAUTHPASSWORD_H
namespace Opie {
namespace Security {
/**
* This is the dropin replacement for libqpes Password class.
* If you call authenticate() a widget will cover the whole screen
* and only return if the user is able to authenticate with any of the
* configured Authentication Plugins.
* This uses the \sa Opie::Security::MultiauthMainWindow internally.
*
* @author Clement Séveillac, Holger Freyther
*/
class MultiauthPassword {
public:
static bool needToAuthenticate( bool atpoweron = false );
static void authenticate(bool atpoweron = false);
};
}
}
#endif