summaryrefslogtreecommitdiff
authorzecke <zecke>2004-03-13 20:18:55 (UTC)
committer zecke <zecke>2004-03-13 20:18:55 (UTC)
commitcf61e44678f1b74e97c61e57ffb63a7bcf794577 (patch) (side-by-side diff)
tree2a85e577d92a818447d866c70460196d2fc8c32f
parent6d08277737e22b7a1527124623f3571969073ddf (diff)
downloadopie-cf61e44678f1b74e97c61e57ffb63a7bcf794577.zip
opie-cf61e44678f1b74e97c61e57ffb63a7bcf794577.tar.gz
opie-cf61e44678f1b74e97c61e57ffb63a7bcf794577.tar.bz2
Change OApplicationFactory to be in Opie::Core as well
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oapplicationfactory.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/libopie2/opiecore/oapplicationfactory.h b/libopie2/opiecore/oapplicationfactory.h
index 6e10552..4518174 100644
--- a/libopie2/opiecore/oapplicationfactory.h
+++ b/libopie2/opiecore/oapplicationfactory.h
@@ -50,16 +50,17 @@
#include <qstring.h>
#include <qmetaobject.h>
#include <qtopia/qcom.h>
#include <qtopia/applicationinterface.h>
namespace Opie {
+namespace Core {
struct NullType;
template <class T, class U>
struct Typelist
{
typedef T Head;
typedef U Tail;
};
@@ -89,17 +90,16 @@ public:
};
template<>
struct MakeTypelist<>
{
typedef NullType Result;
};
-}
/**
* To allow your application to be quick launched some one needs
* to create the QWidget.
* This is this factory. Make surce your widget has static QString Widget::appName()
* as one of its functions.
*
* This template takes one QWidget and initialized it in the form of
@@ -158,17 +158,17 @@ struct OPrivate {
inline static QStringList multiString( const QStringList& _list ) {
QStringList list = _list;
list << Product::appName();
return list;
}
};
template <>
-struct OPrivate<Opie::NullType > {
+struct OPrivate<Opie::Core::NullType > {
inline static QWidget* multiFactory ( const QString& , QWidget* ,
const char* , Qt::WFlags ) {
return 0l;
}
inline static QStringList multiString( const QStringList& _list ) {
return _list;
}
};
@@ -183,17 +183,17 @@ struct OPrivate <Opie::NullType, Opie::NullType > {
inline static QStringList multiString( const QStringList& _list ) {
return _list;
}
};
*/
template <class Product, class ProductListTail>
-struct OPrivate< Opie::Typelist<Product, ProductListTail> > {
+struct OPrivate< Opie::Core::Typelist<Product, ProductListTail> > {
inline static QWidget* multiFactory( const QString& appName, QWidget* parent,
const char* name, Qt::WFlags fl) {
QWidget* wid = OPrivate<Product>::multiFactory( appName, parent, name, fl );
if (!wid )
wid = OPrivate<ProductListTail>::multiFactory( appName, parent, name, fl );
return wid;
@@ -223,41 +223,43 @@ struct OPrivate< Opie::Typelist<Product, ProductListTail> > {
* Make sure all your Widgets provide the appName() static method
* otherwise you'll get a compiler error
*
* typedef Opie::MakeTypeList<MyWidget, MyDialog, MyMediaPlayer >::Result MyTypes;
* OPIE_EXPORT_APP( OApplicationFactory<MyTypes> )
*/
template<class Product, class ProductListTail>
-struct OApplicationFactory< Opie::Typelist<Product, ProductListTail > >
+struct OApplicationFactory< Opie::Core::Typelist<Product, ProductListTail > >
: ApplicationInterface {
QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) {
*iface = 0;
if ( uuid == IID_QUnknown ) *iface = this;
else if ( uuid ==IID_QtopiaApplication ) *iface = this;
else return QS_FALSE;
(*iface)->addRef();
return QS_OK;
}
QWidget* createMainWindow ( const QString& appName, QWidget* parent,
const char* name, Qt::WFlags fl ) {
qWarning("StringList is %s", applications().join(":").latin1() );
- return OPrivate< Opie::Typelist<Product, ProductListTail > >::multiFactory( appName, parent, name, fl );
+ return OPrivate< Opie::Core::Typelist<Product, ProductListTail > >::multiFactory( appName, parent, name, fl );
}
QStringList applications()const {
QStringList _list;
- return OPrivate< Opie::Typelist<Product, ProductListTail> >::multiString( _list );
+ return OPrivate< Opie::Core::Typelist<Product, ProductListTail> >::multiString( _list );
}
Q_REFCOUNT
};
+}
+}
/* If the library version should be build */
#ifdef OPIE_APP_INTERFACE
#define OPIE_EXPORT_APP( factory ) Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( factory ) }
#else
#include <qpe/qpeapplication.h>