# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1272965978 -10800 # Node ID fa475d6462b28c745f29490cd0c198c8bb1c8012 Revision: 201015 Kit: 201018 diff -r 000000000000 -r fa475d6462b2 50_layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/50_layers.sysdef.xml Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,14 @@ + + +]> + + + + + + + + + + diff -r 000000000000 -r fa475d6462b2 92_layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/92_layers.sysdef.xml Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,14 @@ + + +]> + + + + + + + + + + diff -r 000000000000 -r fa475d6462b2 bookmarksengine/Bookmarkstestui/BookMarkServerTestui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/Bookmarkstestui/BookMarkServerTestui.cpp Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,106 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +//#include +BookMarkServerTestui::BookMarkServerTestui() + { + int sessionId=0; + obj=new BookmarksClientSide(); + obj->connectToServer(); + bool res=obj->getSessionId(sessionId); + } +BookMarkServerTestui::~BookMarkServerTestui() + { + obj->closeServer(); + delete(obj); + obj=NULL; + } +void BookMarkServerTestui::buttonclicked() +{ + getop(); + +} +void BookMarkServerTestui::getop() + { + BookmarkLeaf* col=new BookmarkLeaf(); + /* col->setTitle("TestT1"); + col->setUrl("http://www.google.com"); + QDate x(2010,01,19); + col->setDate(x); + col->setTag("GOOGLY");*/ + QDate x(2010,01,19); + col->setUrl("http://www.google.com"); + col->setTitle("TestT1"); + col->setDate(x); + col->setTag("GOOGLY"); + obj->AddBookmark(col); + + + } +void BookMarkServerTestui::delbutton() + { + + obj->DeleteBookmark("TestT1"); + } +void BookMarkServerTestui::fetchbutton() + { + + //BookmarkLeaf* fin=obj->FetchBookmark("first"); + } +void BookMarkServerTestui::closeAll() + { + //obj->closeServer(); + + } +void BookMarkServerTestui::yahooclicked() + { + /*BookmarkLeaf* BookmarkContent=new BookmarkLeaf(); + BookmarkContent->setBookmarkTitle("second"); + BookmarkContent->setBookmarkUrl("www.yahoo.com"); + BookmarkContent->setLastUpdatedTime("11:10"); + BookmarkContent->setBookmarkTag("HHHHHHO");*/ + BookmarkLeaf* col=new BookmarkLeaf(); + QDate x(2010,01,19); + col->setUrl("http://www.yahoo.com"); + col->setTitle("TestT2"); + col->setDate(x); + col->setTag("YAH"); + obj->AddBookmark(col); + + } +void BookMarkServerTestui::nokiaclicked() + { + BookmarkLeaf* col=new BookmarkLeaf(); + QDate x(2010,01,19); + col->setUrl("http://www.NOKIA.com"); + col->setTitle("TestT3"); + col->setDate(x); + col->setTag("NOK"); + obj->AddBookmark(col); + + } +void BookMarkServerTestui::delyahoo() + { + obj->DeleteBookmark("TestT2"); + } +void BookMarkServerTestui::delnokia() + { + obj->DeleteBookmark("TestT3"); + } diff -r 000000000000 -r fa475d6462b2 bookmarksengine/Bookmarkstestui/BookMarkServerTestui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/Bookmarkstestui/BookMarkServerTestui.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +class BookmarksClientSide; + +class BookMarkServerTestui: public QWidget +{ + Q_OBJECT +public: + BookMarkServerTestui(); + ~BookMarkServerTestui(); + +private: + BookmarksClientSide* obj; + public slots: + void buttonclicked(); + void delbutton(); + void delyahoo(); + void delnokia(); + void fetchbutton(); + void closeAll(); + void yahooclicked(); + void nokiaclicked(); + public: + void getop(); + +}; diff -r 000000000000 -r fa475d6462b2 bookmarksengine/Bookmarkstestui/Bookmarkstestui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/Bookmarkstestui/Bookmarkstestui.pro Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,94 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = app +TARGET = Bookmarkstestui +DEFINES += BUILDING_BOOKMARKS_TESTUI +# establish relative root dir +ROOT_DIR = $$PWD/../.. +include($$ROOT_DIR/browser.pri) + +QT += core gui network sql + +HEADERS += $$PWD/BookMarkServerTestui.h +SOURCES += $$PWD/BookMarkServerTestui.cpp \ + $$PWD/main.cpp + + + +isEmpty(BEDROCK_OUTPUT_DIR): { + symbian { + CONFIG(release,release|debug):BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../WrtBuild/Release + CONFIG(debug,release|debug):BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../WrtBuild/Debug + + else { + CONFIG(release,release|debug):BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$ROOT_DIR/WrtBuild/Release + CONFIG(debug,release|debug):BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$ROOT_DIR/WrtBuild/Debug + } +} else { + BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$BEDROCK_OUTPUT_DIR +} +CONFIG(release, debug|release):BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../../../../WrtBuild/Release +CONFIG(debug, debug|release):BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../../../../WrtBuild/Debug + +QMAKE_RPATHDIR += $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/bin +QMAKE_LIBDIR += $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/bin + + + +INCLUDEPATH += $$PWD $$PWD/../bookmarksclient/inc $$PWD/../../browsercore/appfw/Api/Bookmarks $$PWD/../../browsercore/appfw/Api/Common $$PWD/../../browsercore/appfw/Api/Dialogs $$PWD/../../browsercore/appfw/Api/Controls $$PWD/../../browsercore/appfw/Api/Managers $$PWD/../../browsercore/appfw/Api/Transitions $$PWD/../../browsercore/appfw/Api/Views $$PWD/../../browsercore/appfw/Common + +LIBS += -lBookMarksClient + +# Use IPC components from import directory. +include($$PWD/../../../../../import/import.pri) +LIBS += -lwrtserviceipcclient +LIBS += -lwrtserviceipcserver + +CONFIG(gcov) { + LIBS += -lgcov + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage + message( "building for coverage statics" ) +} + + +OBJECTS_DIR = $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServerTest/tmp +DESTDIR = $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/bin +MOC_DIR = $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServerTest/tmp +RCC_DIR = $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServerTest/tmp +TEMPDIR = $$BOOKMARKTEST_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServerTest/build + + + + +CONFIG (maemo) { + include(../../../../cwrt-maemo.pri) +} + +symbian: { + TARGET.UID3 = 0x102C2774 + TARGET.VID = VID_DEFAULT + TARGET.EPOCALLOWDLLDATA = 1 + TARGET.CAPABILITY = All -TCB -DRM -AllFiles + + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + LIBS += -lefsrv -lcaf -lcafutils + +} + +symbian: { + INCLUDEPATH += $$PWD $$MW_LAYER_SYSTEMINCLUDE $$APP_LAYER_SYSTEMINCLUDE +} diff -r 000000000000 -r fa475d6462b2 bookmarksengine/Bookmarkstestui/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/Bookmarkstestui/main.cpp Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,76 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include + +int main( int argc, char **argv ) +{ + QApplication app(argc, argv); + BookMarkServerTestui obj; + //QWidget* win=new QWidget(); + QWidget win; + win.setWindowTitle("BOOKMARKS SERVER TESTUI"); + QPushButton* butadd=new QPushButton("Add Bookmark Google" ); + QPushButton* butadd1=new QPushButton("Add Bookmark yahoo" ); + QPushButton* butadd2=new QPushButton("Add Bookmark Nokia" ); + + QPushButton* butdel=new QPushButton("del Bookmark Google" ); + QPushButton* butdel1=new QPushButton("del Bookmark Yahoo" ); + QPushButton* butdel2=new QPushButton("del Bookmark Nokia" ); + + QPushButton* butfetch=new QPushButton("Fetch Bookmark" ); + QPushButton* butexit=new QPushButton("Exit Server" ); + QPushButton* Exitapp=new QPushButton("Exit UI" ); + //Add + QObject::connect(butadd,SIGNAL(clicked()),&obj,SLOT(buttonclicked())); + QObject::connect(butadd1,SIGNAL(clicked()),&obj,SLOT(yahooclicked())); + QObject::connect(butadd2,SIGNAL(clicked()),&obj,SLOT(nokiaclicked())); + + QObject::connect(butdel,SIGNAL(clicked()),&obj,SLOT(delbutton())); + QObject::connect(butdel1,SIGNAL(clicked()),&obj,SLOT(delyahoo())); + QObject::connect(butdel2,SIGNAL(clicked()),&obj,SLOT(delnokia())); + + + QObject::connect(butfetch,SIGNAL(clicked()),&obj,SLOT(fetchbutton())); + //QObject::connect(butexit,SIGNAL(clicked()),&obj,SLOT(closeAll())); + QObject::connect(Exitapp,SIGNAL(clicked()),&app,SLOT(quit())); + + + QVBoxLayout* lay=new QVBoxLayout(); + lay->addWidget(butadd); + lay->addWidget(butadd1); + lay->addWidget(butadd2); + lay->addWidget(butdel); + lay->addWidget(butdel1); + lay->addWidget(butdel2); + lay->addWidget(butfetch); + //lay->addWidget(butexit); + lay->addWidget(Exitapp); + + win.setLayout(lay); + //win->show(); + win.showFullScreen(); + +/* butadd->show(); + butdel->show(); + butfetch->show();*/ + return app.exec(); +} + diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksclient/bookmarksclient.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksclient/bookmarksclient.pro Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,104 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = lib +TARGET = BookMarksClient + +ROOT_DIR = $$PWD/../.. +include($$ROOT_DIR/browser.pri) + +DEFINES+= BUILDING_BOOKMARKS_CLIENT + +QT += core network xml sql +HEADERS += $$PWD/inc/bookmarkclientdefs.h \ + $$PWD/inc/bookmarkclient.h \ + $$PWD/../commoninclude/bookmarkscommonengine.h +SOURCES += $$PWD/src/bookmarkclient.cpp + +isEmpty(BEDROCK_OUTPUT_DIR): { + symbian { + CONFIG(release, debug|release):BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR=$$PWD/../../WrtBuild/Release + CONFIG(debug, debug|release):BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR= $$PWD/../../WrtBuild/Debug + else { + CONFIG(release, debug|release):BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR=$$PWD/../../../../../WrtBuild/Release + CONFIG(debug, debug|release):BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR= $$PWD/../../../../../WrtBuild/Debug + } +} else { + BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR = $$BEDROCK_OUTPUT_DIR +} + +OBJECTS_DIR = $$BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR/BookMarksClient/tmp +DESTDIR = $$BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR/bin +MOC_DIR = $$BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR/BookMarksClient/ +RCC_DIR = $$BOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR/BookMarksClient/ +TEMPDIR = $$BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR/BookMarksClient/build +# QMAKE_LIBDIR = $$BOOKMARKSCLIENT_DATAMODEL_OUTPUT_DIR/bin + +INCLUDEPATH += $$PWD/inc $$PWD/../commoninclude $$PWD/../../ipc/serviceipc $$PWD/../../ipc/serviceipcserver + + +# Use IPC components from import directory. +include($$PWD/../../../../../import/import.pri) +LIBS += -lwrtserviceipcclient + + +#I believe the following line to be useless on all platforms. (carol.szabo@nokia.com) +# !s40:LIBS += -Llib +# CONFIG += \ +# building-libs \ +# depend_includepath \ +# dll +CONFIG += dll + +# CONFIG(release, debug|release):!CONFIG(QTDIR_build){ +# !unix : contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols +# unix : contains(QT_CONFIG, reduce_relocations): CONFIG += bsymbolic_functions +# } + +CONFIG -= warn_on +*-g++* : QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing +CONFIG(gcov) { + LIBS += -lgcov + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage + message( "building for coverage statics" ) +} + + + + +isEmpty(TEMPDIR) { + CONFIG(release, debug|release):TEMPDIR=$$DESTDIR/Release/build + CONFIG(debug, debug|release):TEMPDIR=$$DESTDIR/Debug/build +} + +CONFIG (maemo) { + include(../../../../cwrt-maemo.pri) +} + +symbian: { + TARGET.UID3 = 0x200267E6 + TARGET.VID = VID_DEFAULT + TARGET.EPOCALLOWDLLDATA=1 + TARGET.CAPABILITY = All -TCB -DRM -AllFiles + LIBS += -lefsrv -lcaf -lcafutils + INCLUDEPATH+=$$MW_LAYER_PUBLIC_EXPORT_PATH(cwrt) $$MW_LAYER_PUBLIC_EXPORT_PATH() + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + INCLUDEPATH+=/epoc32/include + BookMarksClientlibs.sources = BookMarksClient.dll + BookMarksClientlibs.path = /sys/bin + DEPLOYMENT += BookMarksClientlibs + +} diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksclient/inc/bookmarkclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksclient/inc/bookmarkclient.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,88 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef BOOKMARKCLIENT_H +#define BOOKMARKCLIENT_H + +#include +#include +#include +#include +//using namespace WRT; + +class BookmarksClientSidePrivate; + +class BOOKMARKSENGINECLIENT_EXPORT BookmarkLeaf +{ +public: + QString getUrl(){return url;} + QString getTitle(){return title;} + QDate getDate(){return date;} + QTime getLastVisited(){return lastVisited;} + QString getDesc(){return desc;} + QIcon getFavIcon(){return favicon;} + QString getTag(){ return m_tag;} + int getIndex(){ return m_index;} + + void setUrl(QString aurl){url=aurl;} + void setTitle(QString atitle){title=atitle;} + void setDate(QDate adate){date=adate;} + void setLastVisited(QTime atime){lastVisited=atime;} + void setDesc(QString adesc){desc=adesc;} + void setFavIcon(QIcon afavicon){favicon=afavicon;} + void setTag(QString atag){m_tag=atag;} + void setIndex(int index){m_index=index;} +private: + QString url; + QString title; + + /*The last date on which URL is visited*/ + QDate date; + /*The last time on which URL is visited*/ + QTime lastVisited; + + QString desc; + QIcon favicon; + bool expanded; + QString m_tag; + int m_index; + + +}; + +class BOOKMARKSENGINECLIENT_EXPORT BookmarksClientSide : public QObject + { +Q_OBJECT +BOOKMARKSCLIENT_PRIVATE(BookmarksClientSide) +public: + + BookmarksClientSide(); + ~BookmarksClientSide(); + int connectToServer(); + void closeServer(); + int AddBookmark(BookmarkLeaf* BookmarkContent); + BookmarkLeaf* FetchBookmark(QString title); + int DeleteBookmark(QString title); + int getSessionId(int& BookmarkId); + QList FetchAllBookmarks(); +signals: + void BookmarkAdded(QString title); + void BookmarkDeleted(QString title); +private slots: + void handleServerResponse(); + }; +#endif //BOOKMARKCLIENT_H diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksclient/inc/bookmarkclientdefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksclient/inc/bookmarkclientdefs.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef BOOKMARKSCLIENTDEFS_H +#define BOOKMARKSCLIENTDEFS_H + +#define BOOKMARKSCLIENT_PRIVATE(Class) \ + private: \ + inline Class##Private* priv_func() { return reinterpret_cast(priv_ptr); } \ + inline const Class##Private* priv_func() const{ return static_cast(priv_ptr);} \ + friend class Class##Private; \ + void* priv_ptr; +#define BOOKMARKSCLIENT_PUBLIC(Class) \ + public: \ + inline Class* pub_func() { return static_cast(pub_ptr); } \ + inline const Class* pub_func() const { return static_cast(pub_ptr); } \ + private: \ + friend class Class; \ + void* pub_ptr; + +#define BOOKMARKSCLIENT_INITIALIZE(Class) \ + priv_ptr=new Class##Private(); \ + Class##Private* priv=priv_func();\ + priv->pub_ptr = this; +#define BOOKMARKSCLIENT_PUBLICPTR(Class) Class * const pub = pub_func() +#define BOOKMARKSCLIENT_PRIVATEPTR(Class) Class##Private* const priv=priv_func() + +#ifdef BUILDING_BOOKMARKS_CLIENT + #define BOOKMARKSENGINECLIENT_EXPORT Q_DECL_EXPORT +#else + #define BOOKMARKSENGINECLIENT_EXPORT Q_DECL_IMPORT +#endif + +#endif //BOOKMARKSCLIENTDEFS_H diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksclient/src/bookmarkclient.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksclient/src/bookmarkclient.cpp Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,351 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include +#include +#include +#include + +class BookmarksClientSidePrivate + { +BOOKMARKSCLIENT_PUBLIC(BookmarksClientSide) + +public: + ~BookmarksClientSidePrivate(); + QString m_clientName; + int m_clientuid; + bool m_isConnected; + int m_error; + WRT::ServiceFwIPC* m_IpcSession; + int dispatchServerMessagestoClient(int msgType, QString title); + }; + +/**============================================================== + * Description: Constructor of BookmarksClientSidePrivate + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +BookmarksClientSidePrivate::~BookmarksClientSidePrivate() + { + if (m_IpcSession) + { + m_IpcSession->disconnect(); + delete m_IpcSession; + m_IpcSession = NULL; + } + + } + +/**============================================================== + * Description: Constructor of BookmarksClientSide + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +BookmarksClientSide::BookmarksClientSide() + { + BOOKMARKSCLIENT_INITIALIZE(BookmarksClientSide); + + priv->m_IpcSession = new WRT::ServiceFwIPC(this); + + } + +/**============================================================== + * Description: Connects to the bookmark server + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +int BookmarksClientSide::connectToServer() + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + bool connected = false; + if (priv->m_IpcSession) + { + int retry(5); + for (;;) + { + connected = priv->m_IpcSession->connect(BOOKMARKSENGINESERVER); + if (connected) + { + break; + } + else + { + if (!priv->m_IpcSession->startServer(BOOKMARKSENGINESERVER, + BOOKMARKSENGINESERVEREXE)) + { // start server failed + qDebug() << "Failed to Start the BOOKMARK Server."; + break; + } + + } + if (0 == --retry) + { + break; + } + } + } + if (connected) + { + + connect(priv->m_IpcSession, SIGNAL(readyRead()), this, + SLOT(handleServerResponse())); + return ErrNone; + } + else + { + return ErrGeneral; + } + } + +/**============================================================== +* Description: Disconnects the client +* Author: Chandrashekar.V +* EmpId: 10289207 +================================================================*/ +void BookmarksClientSide::closeServer() + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + if (priv->m_IpcSession) + { + priv->m_IpcSession->disconnect(); + } + } + +/**============================================================== + * Description: Destrcutor of the BookmarksClientSide + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +BookmarksClientSide::~BookmarksClientSide() + { + } + +/**============================================================== + * Description: Sends add bookmark request to the server + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +int BookmarksClientSide::AddBookmark( + BookmarkLeaf* BookmarkContent) + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + QString data; + bool result = false; + data.append(BookmarkContent->getTitle()); + data.append(BOOKMARKSENGINESEPARATOR); + data.append(BookmarkContent->getUrl()); + data.append(BOOKMARKSENGINESEPARATOR); + data.append(BookmarkContent->getDate().toString("dd.MM.yyyy")); + data.append(BOOKMARKSENGINESEPARATOR); + data.append(BookmarkContent->getTag()); + QString requestType; + requestType.append(QString::number(EAddBookmark)); + if (priv->m_IpcSession) + { + result = priv->m_IpcSession->sendSync(requestType, data.toAscii()); + } + + if (result == true) + { + return ErrNone; + } + else + { + return ErrGeneral; + } + } + +/**============================================================== + * Description: Sends add fetchbookmark request to the server + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +BookmarkLeaf* BookmarksClientSide::FetchBookmark( + QString title) + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + BookmarkLeaf *node = NULL; + QString data; + data.append(title); + QString requestType; + requestType.append(QString::number(EFetchBookmark)); + if (priv->m_IpcSession) + { + priv->m_IpcSession->sendSync(requestType, data.toAscii()); + QByteArray msg = priv->m_IpcSession->readAll(); + QString serverMsg; + serverMsg = msg.data(); + QStringList list = serverMsg.split(BOOKMARKSENGINESEPARATOR); + + QString title = list[0]; + QString url = list[1]; + QString strdate = list[2]; + QString tags = list[3]; + QDate adate = QDate::fromString(strdate, "dd.MM.yyyy"); + + node = new BookmarkLeaf(); + node->setTitle(title); + node->setUrl(url); + node->setDate(adate); + node->setTag(tags); + } + return node; + } + +/**============================================================== + * Description: Sends add deletebookmark request to the server + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +int BookmarksClientSide::DeleteBookmark( + QString title) + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + QString data; + bool result = false; + data.append(title); + QString requestType; + requestType.append(QString::number(EDeleteBookmark)); + if (priv->m_IpcSession) + { + result = priv->m_IpcSession->sendSync(requestType, data.toAscii()); + } + if (result == true) + { + return ErrNone; + } + else + { + return ErrGeneral; + } + + } + +/**============================================================== + * Description: gets session Id of the client + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +int BookmarksClientSide::getSessionId( + int& BookmarkId) + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + bool result = false; + if (priv->m_IpcSession) + { + result = priv->m_IpcSession->getSessionId(BookmarkId); + } + if (result == true) + { + return ErrNone; + } + else + { + return ErrGeneral; + } + } + +/**============================================================== + * Description: Sends add fetchAllbookmark request to the server + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +QList BookmarksClientSide::FetchAllBookmarks() + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + QList nodeslist; + QString data; + data.append(NULL); + QString requestType; + requestType.append(QString::number(EFetchAllBookmark)); + + if (priv->m_IpcSession) + { + priv->m_IpcSession->sendSync(requestType, data.toAscii()); + QByteArray msg = priv->m_IpcSession->readAll(); + QString serverMsg; + serverMsg = msg.data(); + QStringList list = serverMsg.split(BOOKMARKSENGINESEPARATOR); + int count = list.count() / 4; + int i = 0; + while (count--) + { + QString title = list[i++]; + QString url = list[i++]; + QString strdate = list[i++]; + QDate adate = QDate::fromString(strdate, "dd.MM.yyyy"); + QString tags = list[i++]; + BookmarkLeaf* node = new BookmarkLeaf(); + node->setTitle(title); + node->setUrl(url); + node->setDate(adate); + node->setTag(tags); + + nodeslist.append(node); + } + } + return nodeslist; + + } + +/**============================================================== + * Description: handles server responses + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookmarksClientSide::handleServerResponse() + { + BOOKMARKSCLIENT_PRIVATEPTR(BookmarksClientSide); + qDebug() << " handling server response" << '\n'; + QByteArray msg; + msg = priv->m_IpcSession->readAll(); + QString serverMsg; + serverMsg = msg.data(); + qDebug() << " Message is " << serverMsg << '\n'; + QStringList list1 = serverMsg.split(BOOKMARKSENGINESEPARATOR); + int msgType = list1[0].toLocal8Bit().toInt(); + QString title = list1[1]; + int res=priv->dispatchServerMessagestoClient(msgType, title); + + } + +/**============================================================== + * Description: Sends server response notifications to the UI + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +int BookmarksClientSidePrivate::dispatchServerMessagestoClient(int msgType, + QString title) + { + BOOKMARKSCLIENT_PUBLICPTR(BookmarksClientSide); + switch (msgType) + { + case EServerMsgBookmarkDeleted: + emit pub->BookmarkDeleted(title); + break; + case EServerMsgBookmarkAdded: + emit pub->BookmarkAdded(title); + break; + default: + break; + } + return ErrNone; + } + diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksengine.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksengine.pro Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,21 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = subdirs +CONFIG += ordered debug_and_release + +SUBDIRS = ./browsercontentdll/browsercontentdll.pro + \ No newline at end of file diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksserver/BookmarksServer.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksserver/BookmarksServer.pro Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,88 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = app +TARGET = BookMarkServer + +# establish relative root dir +ROOT_DIR = $$PWD/../.. + +include($$ROOT_DIR/browser.pri) + +QT += core network xml sql +QT -= gui + +HEADERS += $$PWD/inc/bookmarkserver.h \ + $$PWD/../commoninclude/bookmarkscommonengine.h +SOURCES += $$PWD/src/servermain.cpp \ + $$PWD/src/bookmarkserver.cpp + + +isEmpty(BEDROCK_OUTPUT_DIR): { + symbian { + CONFIG(release,release|debug):BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../WrtBuild/Release + CONFIG(debug,release|debug):BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../WrtBuild/Debug + + else { + CONFIG(release,release|debug):BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../../../../WrtBuild/Release + CONFIG(debug,release|debug):BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR=$$PWD/../../../../../WrtBuild/Debug + } +} else { + BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR=$$BEDROCK_OUTPUT_DIR +} + +QMAKE_RPATHDIR += $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/bin +QMAKE_LIBDIR += $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/bin + + +INCLUDEPATH += $$PWD/inc $$PWD/../commoninclude $$PWD/../../ipc/serviceipc $$PWD/../../ipc/serviceipcserver + +# Use IPC components from import directory. +include($$PWD/../../../../../import/import.pri) +LIBS += -lwrtserviceipcserver + +CONFIG(gcov) { + LIBS += -lgcov + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage + message( "building for coverage statics" ) +} + + +OBJECTS_DIR = $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServer/tmp +DESTDIR = $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/bin +MOC_DIR = $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServer/tmp +RCC_DIR = $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServer/tmp +TEMPDIR = $$BOOKMARK_DATAMODEL_SERVER_OUTPUT_DIR/BookMarkServer/build + + + + +CONFIG (maemo) { + include(../../../../cwrt-maemo.pri) +} + +symbian: { + TARGET.EPOCHEAPSIZE = 0x20000 0x1000000 // Min 128kb, Max 16Mb + TARGET.UID3 = 0x200267E7 + TARGET.VID = VID_DEFAULT + TARGET.EPOCALLOWDLLDATA=1 + TARGET.CAPABILITY = All -TCB -DRM -AllFiles + CONFIG +=no_icon +} + +symbian: { + INCLUDEPATH += $$PWD $$MW_LAYER_SYSTEMINCLUDE $$APP_LAYER_SYSTEMINCLUDE +} diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksserver/inc/bookmarkserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksserver/inc/bookmarkserver.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef BOOKMARKSERVER_H +#define BOOKMARKSERVER_H + +#include +#include +#include +#define BOOKMARKDATAMODELSERVER "BookMarkServer" + +const QString dbLocation="BookMarkDatabase.db"; + + + +//using namespace WRT; +class BookMarkServer: public QObject, public WRT::MServiceIPCObserver + { + Q_OBJECT + public: + BookMarkServer(); + virtual ~BookMarkServer(); + enum BookmarkRequestTypes + { + EDeleteBookMark, + EAddBookMark, + EFetchBookmark, + EFetchAllBookmarks, + EUnknownrequest + }; + enum BookmarkResponseTypes + { + EDeleteBookMarkDone, + EAddBookMarkDone, + EFetchBookmarkDone, + EFetchAllBookmarksDone, + EUnknownresponse + }; + + + private: + bool handleRequest(WRT::ServiceIPCRequest *aRequest); + void handleCancelRequest(WRT::ServiceIPCRequest *aRequest); + void handleClientConnect(WRT::ClientInfo *aNewClient); + void handleClientDisconnect(WRT::ClientInfo *aClient); + private: + void fetchBookMarkData(WRT::ServiceIPCRequest *request); + int createDatabase(); + void addBookMark(WRT::ServiceIPCRequest *request); + void deleteBookMark(WRT::ServiceIPCRequest *request); + private slots: + void closeServer(); + private: + WRT::ServiceFwIPCServer* m_server; + QString m_connectionName; + QHashm_clients; + int m_sessionCount; + }; +#endif //BOOKMARKSERVER_H diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksserver/src/bookmarkserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksserver/src/bookmarkserver.cpp Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,325 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/**============================================================== + * Description: Constructor of BookMarkServer + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +BookMarkServer::BookMarkServer() : + m_sessionCount(0) + { + + m_server = new WRT::ServiceFwIPCServer(this, this); + createDatabase(); + bool ret = m_server->listen(BOOKMARKSENGINESERVER); + if (!ret) + { + qDebug() << " Failed to LISTEN" << '\n'; + QTimer::singleShot(1, this, SLOT(closeServer())); + return; + } + + m_server->configIpcServerLifetime(true); + + } + +/**============================================================== + * Description:Destructor of BookMarkServer + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +BookMarkServer::~BookMarkServer() + { + + if (m_server) + { + m_server->disconnect(); + delete m_server; + m_server = NULL; + } + } + +/**============================================================== + * Description:closes the bookmark Server connection + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::closeServer() + { + // before shutting down, check if any active session exists + + if (m_sessionCount <= 0) + QCoreApplication::quit(); + } + +/**============================================================== + * Description:Handles the client request + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +bool BookMarkServer::handleRequest(WRT::ServiceIPCRequest *aRequest) + { + + WRT::ClientInfo* clientInfo = + const_cast (aRequest->clientInfo()); + int sessionID = clientInfo->sessionId(); + bool val(false); + bool result = true; + int command = aRequest->getOperation().toInt(&val); + QString msg = aRequest->getData(); + QStringList list = msg.split(BOOKMARKSENGINESEPARATOR); + switch (command) + { + case (EDeleteBookMark): + deleteBookMark(aRequest); + break; + case (EAddBookMark): + addBookMark(aRequest); + break; + case (EFetchBookmark): + fetchBookMarkData(aRequest); + break; + case (EFetchAllBookmarks): + fetchBookMarkData(aRequest); + break; + default: + result=false; + break; + } + return result; + } + +/**============================================================== + * Description:Adds the bookmark to the database + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::addBookMark(WRT::ServiceIPCRequest *aRequest) + { + + QString msg = aRequest->getData(); + QStringList list = msg.split(BOOKMARKSENGINESEPARATOR); + + QString title = list[0]; + QString url = list[1]; + QString adate = list[2]; + QString tags = list[3]; + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + + if (db.isOpen()) + { + + QSqlQuery query(db); + query.prepare("INSERT INTO BookMarkTable (title, url, adate, tags) " + "VALUES (:title, :url, :adate, :tags)"); + + query.bindValue(":title", QVariant(title)); + query.bindValue(":url", QVariant(url)); + query.bindValue(":adate", QVariant(adate)); + query.bindValue(":tags", QVariant(tags)); + query.exec(); + QSqlError error = query.lastError(); + + } + QString strResponse; + WRT::ClientInfo* clientInfo = + const_cast (aRequest->clientInfo()); + strResponse.append(QString::number(EServerMsgBookmarkAdded)); + strResponse.append(BOOKMARKSENGINESEPARATOR); + strResponse.append(title); + strResponse.append(BOOKMARKSENGINESEPARATOR); + aRequest->write(strResponse.toAscii()); + aRequest->completeRequest(); + m_server->broadcast(strResponse.toAscii()); + + } + +/**============================================================== + * Description:Deletes the bookmark from the database + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::deleteBookMark(WRT::ServiceIPCRequest *aRequest) + { + + QString msg = aRequest->getData(); + QStringList list = msg.split(";"); + QString title = list[0]; + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + if (db.isOpen()) + { + QSqlQuery query(db); + query.prepare("DELETE FROM BookMarkTable WHERE title=:title"); + query.bindValue(":title", title); + query.exec(); + QSqlError error = query.lastError(); + } + QString strResponse; + strResponse.append(QString::number(EServerMsgBookmarkDeleted)); + strResponse.append(BOOKMARKSENGINESEPARATOR); + strResponse.append(title); + strResponse.append(BOOKMARKSENGINESEPARATOR); + aRequest->write(strResponse.toAscii()); + aRequest->completeRequest(); + } + +/**============================================================== + * Description:Fetches the bookmark data from the database + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::fetchBookMarkData(WRT::ServiceIPCRequest *request) + { + + QSqlDatabase db = QSqlDatabase::database(m_connectionName); + + QString strResponse; + + bool dbopen = db.isOpen(); + + if (dbopen) + { + + QSqlQuery query(db); + + query.prepare("SELECT title,url,adate,tags FROM BookMarkTable"); + query.exec(); + QSqlError error = query.lastError(); + + while (query.next()) + { + + QString title = query.value(0).toString(); + QString url = query.value(1).toString(); + QString date = query.value(2).toString(); + QString tag = query.value(3).toString(); + + strResponse.append(title); + strResponse.append(BOOKMARKSENGINESEPARATOR); + strResponse.append(url); + strResponse.append(BOOKMARKSENGINESEPARATOR); + strResponse.append(tag); + strResponse.append(BOOKMARKSENGINESEPARATOR); + strResponse.append(date); + strResponse.append(BOOKMARKSENGINESEPARATOR); + } + } + + WRT::ClientInfo* clientInfo = + const_cast (request->clientInfo()); + QByteArray res = strResponse.toAscii(); + + request->write(strResponse.toAscii()); + request->completeRequest(); + + } + +/**============================================================== + * Description:Handles the client cancel request + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::handleCancelRequest(WRT::ServiceIPCRequest *aRequest) + { + qDebug() << " Not supported Right now"; + } + +/**============================================================== + * Description:Handles the client connection requests + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::handleClientConnect(WRT::ClientInfo *aClient) + { + + int sessionID = aClient->sessionId(); + m_clients.insert(sessionID, aClient->name()); + m_sessionCount++; + + } + +/**============================================================== + * Description:Handles the client disconnect request + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +void BookMarkServer::handleClientDisconnect(WRT::ClientInfo *aClient) + { + int sessionID = aClient->sessionId(); + QMutableHashIterator itr(m_clients); + while (itr.hasNext()) + { + itr.next(); + if (itr.key() == sessionID) + { + itr.remove(); + break; + } + } + + if (--m_sessionCount <= 0) + { + closeServer(); + + } + + } + +/**============================================================== + * Description:Handles the creation of bookmarks databse + * Author: Chandrashekar.V + * EmpId: 10289207 + ================================================================*/ +int BookMarkServer::createDatabase() + { + + m_connectionName = "bookmark_"; + + QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", m_connectionName); + db.setHostName("Simulator"); + db.setDatabaseName(dbLocation); + + if (!db.open()) + return -1; + + QFileInfo dbFile(dbLocation); + if (dbFile.exists() && dbFile.size() == 0) + { + QSqlQuery query(db); + query.exec( + "CREATE TABLE BookMarkTable (title VARCHAR(40) NOT NULL,url VARCHAR(100),adate VARCHAR(40),tags VARCHAR(40),CONSTRAINT pk_BookMarkTable PRIMARY KEY(title))"); + + } + + + return 0; + } + diff -r 000000000000 -r fa475d6462b2 bookmarksengine/bookmarksserver/src/servermain.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/bookmarksserver/src/servermain.cpp Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include + +int main( int argc, char **argv ) +{ + QCoreApplication app(argc, argv); + qDebug()<<"FINALLY I AM IN"<<'\n'; + BookMarkServer* BookMarkServerObj=new BookMarkServer(); + return app.exec(); +} + diff -r 000000000000 -r fa475d6462b2 bookmarksengine/browsercontentdll/browsercontentdll.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/browsercontentdll/browsercontentdll.pro Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,100 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = lib +TARGET = browsercontentdll + +ROOT_DIR = $$PWD/../.. +include($$ROOT_DIR/browser.pri) + +DEFINES+= BUILDING_BOOKMARK_CONTENTDLL + +QT += core network xml sql +HEADERS += $$PWD/inc/browsercontentdllclientdefs.h \ + $$PWD/inc/browsercontentdll.h + +SOURCES += $$PWD/src/browsercontentdll.cpp + +isEmpty(BEDROCK_OUTPUT_DIR): { + symbian { + CONFIG(release, debug|release):BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR=$$PWD/../../WrtBuild/Release + CONFIG(debug, debug|release):BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR= $$PWD/../../WrtBuild/Debug + } else { + CONFIG(release, debug|release):BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR=$$PWD/../../../../../WrtBuild/Release + CONFIG(debug, debug|release):BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR= $$PWD/../../../../../WrtBuild/Debug + } +} else { + BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR = $$BEDROCK_OUTPUT_DIR +} + +OBJECTS_DIR = $$BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR/browsercontentdll/tmp +DESTDIR = $$BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR/bin +MOC_DIR = $$BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR/browsercontentdll/tmp +RCC_DIR = $$BOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR/browsercontentdll/tmp +TEMPDIR = $$BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR/browsercontentdll/build +# QMAKE_LIBDIR = $$BOOKMARKSCLIENTDLL_DATAMODEL_OUTPUT_DIR/bin + +INCLUDEPATH += $$PWD/inc + + +#I believe the following line to be useless on all platforms. (carol.szabo@nokia.com) +# !s40:LIBS += -Llib +# CONFIG += \ +# building-libs \ +# depend_includepath \ +# dll + +CONFIG += dll + +# CONFIG(release, debug|release):!CONFIG(QTDIR_build){ +# !unix : contains(QT_CONFIG, reduce_exports): CONFIG += hide_symbols +# unix : contains(QT_CONFIG, reduce_relocations): CONFIG += bsymbolic_functions +# } + +CONFIG -= warn_on +*-g++* : QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing +CONFIG(gcov) { + LIBS += -lgcov + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage + message( "building for coverage statics" ) +} + + + + +isEmpty(TEMPDIR) { + CONFIG(release, debug|release):TEMPDIR=$$DESTDIR/Release/build + CONFIG(debug, debug|release):TEMPDIR=$$DESTDIR/Debug/build +} + +CONFIG (maemo) { + include(../../../../cwrt-maemo.pri) +} + +symbian: { + TARGET.UID3 = 0x200267E6 + TARGET.VID = VID_DEFAULT + TARGET.EPOCALLOWDLLDATA=1 + TARGET.CAPABILITY = All -TCB -DRM -AllFiles + LIBS += -lefsrv -lcaf -lcafutils + INCLUDEPATH+=$$MW_LAYER_PUBLIC_EXPORT_PATH(cwrt) $$MW_LAYER_PUBLIC_EXPORT_PATH() + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + INCLUDEPATH+=/epoc32/include + browsercontentdlllibs.sources = browsercontentdll.dll + browsercontentdlllibs.path = /sys/bin + DEPLOYMENT += browsercontentdlllibs + +} diff -r 000000000000 -r fa475d6462b2 bookmarksengine/browsercontentdll/inc/browsercontentdll.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/browsercontentdll/inc/browsercontentdll.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,121 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef BROWSERCONTENT_H +#define BROWSERCONTENT_H + +#include +#include +#include +#include + + +class BrowserContentPrivate; + +class BOOKMARKSCONTENTDLL_EXPORT BookmarkLeaf +{ +public: + QString getUrl(){return url;} + QString getTitle(){return title;} + QDate getDate(){return date;} + QTime getLastVisited(){return lastVisited;} + QString getDesc(){return desc;} + QIcon getFavIcon(){return favicon;} + QString getTag(){ return m_tag;} + int getIndex() {return m_index;} + + void setUrl(QString aurl){url=aurl;} + void setTitle(QString atitle){title=atitle;} + void setDate(QDate adate){date=adate;} + void setLastVisited(QTime atime){lastVisited=atime;} + void setDesc(QString adesc){desc=adesc;} + void setFavIcon(QIcon afavicon){favicon=afavicon;} + void setTag(QString atag){m_tag=atag;} + void setIndex(int aIndex){m_index=aIndex;} +private: + QString url; + QString title; + + /*The last date on which URL is visited*/ + QDate date; + /*The last time on which URL is visited*/ + QTime lastVisited; + + QString desc; + QIcon favicon; + bool expanded; + QString m_tag; + int m_index; + + +}; + +class BOOKMARKSCONTENTDLL_EXPORT HistoryLeaf +{ +public: + QString getUrl(){return url;} + QString getTitle(){return title;} + QDate getDate(){return date;} + QTime getLastVisited(){return lastVisited;} + QString getDesc(){return desc;} + QIcon getFavIcon(){return favicon;} + int getIndex() {return m_index;} + + void setUrl(QString aurl){url=aurl;} + void setTitle(QString atitle){title=atitle;} + void setDate(QDate adate){date=adate;} + void setLastVisited(QTime atime){lastVisited=atime;} + void setDesc(QString adesc){desc=adesc;} + void setFavIcon(QIcon afavicon){favicon=afavicon;} + void setIndex(int aIndex){m_index=aIndex;} +private: + QString url; + QString title; + + /*The last date on which URL is visited*/ + QDate date; + /*The last time on which URL is visited*/ + QTime lastVisited; + + QString desc; + QIcon favicon; + bool expanded; + int m_index; + +}; + +class BOOKMARKSCONTENTDLL_EXPORT BrowserContent:public QObject + { +Q_OBJECT +BOOKMARKSCLIENT_PRIVATE(BrowserContent) +public: + + BrowserContent(QString aClientName); + ~BrowserContent(); + int AddBookmark(BookmarkLeaf* BookmarkContent); + int DeleteBookmark(QString title); + QList FetchAllBookmarks(); + int reorderBokmarks(QString title,int new_index); + + int AddHistory(HistoryLeaf* HistoryContent); + QList FetchHistory(); + int clearHistory(); + +private: + int createDatabase(); + }; +#endif //BROWSERCONTENT_H diff -r 000000000000 -r fa475d6462b2 bookmarksengine/browsercontentdll/inc/browsercontentdllclientdefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/browsercontentdll/inc/browsercontentdllclientdefs.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,56 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef BOOKMARKSCLIENTDEFS_H +#define BOOKMARKSCLIENTDEFS_H + +#define BOOKMARKSCLIENT_PRIVATE(Class) \ + private: \ + inline Class##Private* priv_func() { return reinterpret_cast(priv_ptr); } \ + inline const Class##Private* priv_func() const{ return static_cast(priv_ptr);} \ + friend class Class##Private; \ + void* priv_ptr; +#define BOOKMARKSCLIENT_PUBLIC(Class) \ + public: \ + inline Class* pub_func() { return static_cast(pub_ptr); } \ + inline const Class* pub_func() const { return static_cast(pub_ptr); } \ + private: \ + friend class Class; \ + void* pub_ptr; + +#define BOOKMARKSCLIENT_INITIALIZE(Class) \ + priv_ptr=new Class##Private(); \ + Class##Private* priv=priv_func();\ + priv->pub_ptr = this; +#define BOOKMARKSCLIENT_PUBLICPTR(Class) Class * const pub = pub_func() +#define BOOKMARKSCLIENT_PRIVATEPTR(Class) Class##Private* const priv=priv_func() +// #define BOOKMARKSENGINECLIENT_EXPORT Q_DECL_EXPORT + + +#ifdef BUILDING_BOOKMARK_CONTENTDLL + #define BOOKMARKSCONTENTDLL_EXPORT Q_DECL_EXPORT +#else + #define BOOKMARKSCONTENTDLL_EXPORT Q_DECL_IMPORT +#endif + +enum EBrowserContentErrorTypes + { + ErrNone, + ErrGeneral = -2 + }; +#endif //BOOKMARKSCLIENTDEFS_H diff -r 000000000000 -r fa475d6462b2 bookmarksengine/browsercontentdll/src/browsercontentdll.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/browsercontentdll/src/browsercontentdll.cpp Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,411 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#include +#include +#include +#include +#include +#include +const QString dbLocation="browserContent.db"; + +class BrowserContentPrivate + { +BOOKMARKSCLIENT_PUBLIC(BrowserContent) +public: + ~BrowserContentPrivate(); + QString m_connectionName; + }; + +/**============================================================== + * Description: Constructor of BrowserContentPrivate + ================================================================*/ +BrowserContentPrivate::~BrowserContentPrivate() + { + + } + +/**============================================================== + * Description: Constructor of BrowserContent + ================================================================*/ +BrowserContent::BrowserContent(QString aClientName) + { + BOOKMARKSCLIENT_INITIALIZE(BrowserContent); + + priv->m_connectionName=aClientName; + createDatabase(); + } + +/**============================================================== + * Description: creates the database + ================================================================*/ +int BrowserContent::createDatabase() + { + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + + QSqlDatabase sqlDB = QSqlDatabase::addDatabase("QSQLITE", priv->m_connectionName); + sqlDB.setHostName("Simulator"); + sqlDB.setDatabaseName(dbLocation); + + + if (!sqlDB.open()) + return -1; + QSqlError error; + int err = ErrGeneral; + + QFileInfo dbFile(dbLocation); + if (dbFile.exists() && dbFile.size() == 0) + { + QSqlQuery query(sqlDB); + query.exec( + "CREATE TABLE BookMarkTable (title VARCHAR(40) NOT NULL,url VARCHAR(100),adate VARCHAR(40),tags VARCHAR(40),rowindex INTEGER,CONSTRAINT pk_BookMarkTable PRIMARY KEY(title))"); + error=query.lastError(); + + if (error.type() == QSqlError::NoError) { + query.exec("CREATE TABLE HistoryTable (rowindex INTEGER PRIMARY KEY, title VARCHAR(40) NOT NULL,url VARCHAR(100),adate VARCHAR(40),atime VARCHAR(40))"); + error=query.lastError(); + } + } + + if (error.type() == QSqlError::NoError) { + return ErrNone; + } + else { + return ErrGeneral; + } + + } + + +/**============================================================== + * Description: Destrcutor of the BookmarksClientSide + ================================================================*/ +BrowserContent::~BrowserContent() + { + } + +/**============================================================== + * Description: adds the bookmark to the database + ================================================================*/ +int BrowserContent::AddBookmark( + BookmarkLeaf* BookmarkContent) + { + + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + QSqlError error; + QString title =BookmarkContent->getTitle(); + QString url = BookmarkContent->getUrl(); + QString adate =BookmarkContent->getDate().toString("dd.MM.yyyy"); + QString tags = BookmarkContent->getTag(); + int aIndex=BookmarkContent->getIndex(); + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + + if (db.isOpen()) + { + QSqlQuery query(db); + query.prepare("UPDATE BookMarkTable SET rowindex=rowindex+1 WHERE rowindex>=:aIndex"); + query.bindValue(":aIndex", aIndex); + query.exec(); + error = query.lastError(); + + query.prepare("INSERT INTO BookMarkTable (title, url, adate, tags, rowindex) " + "VALUES (:title, :url, :adate, :tags, :aIndex)"); + + query.bindValue(":title", QVariant(title)); + query.bindValue(":url", QVariant(url)); + query.bindValue(":adate", QVariant(adate)); + query.bindValue(":tags", QVariant(tags)); + query.bindValue(":rowindex", QVariant(aIndex)); + + query.exec(); + error = query.lastError(); + } + + if (error.type() == QSqlError::NoError) + { + return ErrNone; + } + else + { + return ErrGeneral; + } + } + + +/**============================================================== + * Description: deletes the requested bookmark + ================================================================*/ +int BrowserContent::DeleteBookmark( + QString atitle) + { + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + QSqlError error; + QString title = atitle; + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + bool ok; + if (db.isOpen()) + { + QSqlQuery query(db); + query.prepare("SELECT title,url,adate,tags,rowindex FROM BookMarkTable WHERE title=:title"); + query.bindValue(":title", title); + query.exec(); + error = query.lastError(); + query.next(); + int aIndex=query.value(4).toInt(&ok); + + query.prepare("DELETE FROM BookMarkTable WHERE title=:title"); + query.bindValue(":title", title); + query.exec(); + error = query.lastError(); + if (error.type() == QSqlError::NoError) + { + query.prepare("UPDATE BookMarkTable set rowindex=rowindex-1 WHERE rowindex>:aIndex"); + query.bindValue(":aIndex", aIndex); + query.exec(); + error = query.lastError(); + } + } + if (error.type() == QSqlError::NoError) + { + return ErrNone; + } + else + { + return ErrGeneral; + } + + } + + +/**============================================================== + * Description: fetches Allbookmarks From database + ================================================================*/ +QList BrowserContent::FetchAllBookmarks() + { + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + QList nodeslist; + + bool dbopen = db.isOpen(); + bool ok; + + if (dbopen) + { + + QSqlQuery query(db); + + query.prepare("SELECT title,url,adate,tags,rowindex FROM BookMarkTable ORDER BY rowindex"); + query.exec(); + QSqlError error = query.lastError(); + + while (query.next()) + { + + QString title = query.value(0).toString(); + QString url = query.value(1).toString(); + QString date = query.value(2).toString(); + QString tag = query.value(3).toString(); + int aIndex=query.value(4).toInt(&ok); + BookmarkLeaf* node = new BookmarkLeaf(); + QDate adate = QDate::fromString(date, "dd.MM.yyyy"); + node->setTitle(title); + node->setUrl(url); + node->setDate(adate); + node->setTag(tag); + node->setIndex(aIndex); + nodeslist.append(node); + } + } + return nodeslist; + + } + +/**============================================================== + * Description: Reoders the Bokmarks based on index + ================================================================*/ +int BrowserContent::reorderBokmarks(QString title,int new_index) + { + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + QSqlQuery query(db); + QSqlError error; + bool ok; + query.prepare("SELECT title,url,adate,tags,rowindex FROM BookMarkTable WHERE title=:title"); + query.bindValue(":title", title); + query.exec(); + error = query.lastError(); + query.next(); + int old_index=query.value(4).toInt(&ok); + + if(old_index>new_index) + { + //Moving the item UP + query.prepare("UPDATE BookMarkTable set rowindex=rowindex+1 WHERE rowindex BETWEEN :new_index AND :old_index-1"); + } + else if(old_indexgetTitle(); + QString url = HistoryContent->getUrl(); + QString adate =HistoryContent->getDate().toString("dd.MM.yyyy"); + QString atime = HistoryContent->getLastVisited().toString("h:mm ap"); +// int aIndex=HistoryContent->getIndex(); + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + + if (db.isOpen()) + { + QSqlQuery query(db); + // query.prepare("UPDATE HistoryTable SET rowindex=rowindex+1 WHERE rowindex>=:aIndex"); + //query.bindValue(":aIndex", aIndex); + //query.exec(); + //error = query.lastError(); + + //"CREATE TABLE HistoryTable (rowindex INTEGER PRIMARY KEY, title VARCHAR(40) NOT NULL,url VARCHAR(100),adate VARCHAR(40),atime VARCHAR(40))"); + + query.prepare("INSERT INTO HistoryTable (rowindex,title, url, adate, atime) " + "VALUES (NULL,:title, :url, :adate, :atime)"); + + //query.bindValue(":rowindex", QVariant(aIndex)); + query.bindValue(":title", QVariant(title)); + query.bindValue(":url", QVariant(url)); + query.bindValue(":adate", QVariant(adate)); + query.bindValue(":atime", QVariant(atime)); + query.exec(); + error = query.lastError(); + } + + if (error.type() == QSqlError::NoError) + { + return ErrNone; + } + else + { + return ErrGeneral; + } + } + + +/**============================================================== + * Description: fetches History From database + ================================================================*/ +QList BrowserContent::FetchHistory() + { + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + QList nodeslist; + + bool dbopen = db.isOpen(); + bool ok; + + if (dbopen) + { + + QSqlQuery query(db); + + query.prepare("SELECT title,url,adate,atime,rowindex FROM HistoryTable ORDER BY rowindex"); + query.exec(); + QSqlError error = query.lastError(); + + while (query.next()) + { + + QString title = query.value(0).toString(); + QString url = query.value(1).toString(); + QString date = query.value(2).toString(); + QString time = query.value(3).toString(); + int aIndex=query.value(4).toInt(&ok); + HistoryLeaf* node = new HistoryLeaf(); + QDate adate = QDate::fromString(date, "dd.MM.yyyy"); + QTime atime = QTime::fromString(time, "h:mm ap"); + node->setTitle(title); + node->setUrl(url); + node->setDate(adate); + node->setLastVisited(atime); +// node->setTag(tag); + node->setIndex(aIndex); + nodeslist.append(node); + } + } + return nodeslist; + + } + +/**============================================================== + * Description: Clear all rows From History database + ================================================================*/ +int BrowserContent::clearHistory() +{ + BOOKMARKSCLIENT_PRIVATEPTR(BrowserContent); + QSqlError error; + + QSqlDatabase db = QSqlDatabase::database(priv->m_connectionName); + bool ok; + if (db.isOpen()){ + QSqlQuery query(db); + query.prepare("DELETE FROM HistoryTable" ); + + query.exec(); + error = query.lastError(); + + if (error.type() == QSqlError::NoError) { + return ErrNone; + } + else{ + return ErrGeneral; + } + } +} diff -r 000000000000 -r fa475d6462b2 bookmarksengine/commoninclude/bookmarkscommonengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bookmarksengine/commoninclude/bookmarkscommonengine.h Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef BOOKMARKSCOMMONENGINE_H +#define BOOKMARKSCOMMONENGINE_H + + +#define BOOKMARKSENGINESERVER "BookMarkServer" + +#ifdef Q_OS_LINUX +#define BOOKMARKSENGINESERVEREXE "./BookMarkServer" +#else +#define BOOKMARKSENGINESERVEREXE "BookMarkServer.exe" +#endif + +#define BOOKMARKSENGINESEPARATOR ";" + + enum BookmarksRequestTypes + { + EDeleteBookmark, + EAddBookmark, + EFetchBookmark, + EFetchAllBookmark, + EUnknownrequest + }; + enum EServerResponseTypes + { + EServerMsgBookmarkDeleted, + EServerMsgBookmarkAdded, + EServerMsgBookmarkFetched, + EServerMsgBookmarkAllFetched, + EServerMsgUnknown + }; + enum EBookmarkErrorTypes + { + ErrNone, + ErrGeneral=-2 + }; +#endif //BOOKMARKSCOMMONENGINE_H diff -r 000000000000 -r fa475d6462b2 browser.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser.pri Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,66 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +isEmpty(_BROWSER_PRI_INCLUDED_): { + + _BROWSER_PRI_INCLUDED_=1 + + symbian { + CONFIG += debug_and_release + MMP_RULES += EXPORTUNFROZEN + } + + CONFIG(debug, debug|release) { + SUBDIRPART = Debug + } else { + SUBDIRPART = Release + } + + # Figure out the root of where stuff should go (this could be done via configure) +symbian { + OUTPUT_DIR = $$PWD +} else { + OUTPUT_DIR = $$PWD/../../.. +} + OBJECTS_DIR = $$OUTPUT_DIR/WrtBuild/$$SUBDIRPART/$$TARGET/tmp + MOC_DIR = $$OUTPUT_DIR/WrtBuild/$$SUBDIRPART/$$TARGET/tmp + RCC_DIR = $$OUTPUT_DIR/WrtBuild/$$SUBDIRPART/$$TARGET/tmp + UI_DIR = $$OUTPUT_DIR/WrtBuild/$$SUBDIRPART/$$TARGET/tmp + TEMPDIR= $$OUTPUT_DIR/WrtBuild/$$SUBDIRPART/$$TARGET/build + DESTDIR = $$OUTPUT_DIR/WrtBuild/$$SUBDIRPART/bin + QMAKE_RPATHDIR = $$DESTDIR $$QMAKE_RPATHDIR + QMAKE_LIBDIR = $$DESTDIR $$QMAKE_LIBDIR + + # Add the output dirs to the link path too + LIBS += -L$$DESTDIR + + DEPENDPATH += . + INCLUDEPATH += . + + symbian { + BROWSER_INCLUDE = $$MW_LAYER_PUBLIC_EXPORT_PATH(browser) + } else { + BROWSER_INCLUDE = $$PWD/include/ + } + + QMAKE_CXXFLAGS_DEBUG += -g + + CONFIG(gcov) { + LIBS += -lgcov + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage + } +} + diff -r 000000000000 -r fa475d6462b2 browser.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser.pro Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,20 @@ +# +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +TEMPLATE = subdirs +CONFIG += ordered + +SUBDIRS += bookmarksengine diff -r 000000000000 -r fa475d6462b2 layers.sysdef.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/layers.sysdef.xml Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,14 @@ + + +]> + + + + + + + + + + diff -r 000000000000 -r fa475d6462b2 sysdef_1_5_1.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysdef_1_5_1.dtd Tue May 04 12:39:38 2010 +0300 @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +