homescreenapp/hsmenucontentpublish/src/hsmenucontentpublish.cpp
changeset 39 4e8ebe173323
parent 36 cdae8c6c3876
child 42 517f4fb5ec74
child 46 23b5d6a29cce
--- a/homescreenapp/hsmenucontentpublish/src/hsmenucontentpublish.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
- * 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: hsmenucontentpublish.cpp
- *
- */
-
-#include <QString>
-#include <QDebug>
-
-#include "hsapp_defs.h"
-#include "caquery.h"
-#include "caentry.h"
-#include "caicondescription.h"
-#include "caservice.h"
-
-#include "hsmenucontentpublish.h"
-#include "hsmenucontentpublish_p.h"
-
-HsMenuContentPublish::HsMenuContentPublish(QObject *parent)
-    :QObject(parent), m_d(new HsMenuContentPublishPrivate(this))
-{
- 
-}
-
-HsMenuContentPublish::~HsMenuContentPublish()
-{
-    delete m_d;
-}
-
-bool HsMenuContentPublish::add(const QVariantMap &entryPreference)
-{    
-    return m_d->add(entryPreference);
-}
-bool HsMenuContentPublish::remove(const QVariantMap &entry) const
-{
-    return m_d->remove(entry);
-}
-
-QList<QVariantMap > HsMenuContentPublish::getList(const QVariantMap &queryPreference)
-{
-    return m_d->getList(queryPreference);
-}
-
-/*!
- Constructor
- \param publishPublic pointer to public contentPublish
- */
-HsMenuContentPublishPrivate::HsMenuContentPublishPrivate(HsMenuContentPublish *publishPublic) :
-    m_q(publishPublic)
-{
-
-}
-
-/*!
- destructor
- */
-HsMenuContentPublishPrivate::~HsMenuContentPublishPrivate()
-{
-    
-}
-
-bool HsMenuContentPublishPrivate::add(const QVariantMap &entryPreference)
-{
-    bool result = false;
-    QMap<QString, QVariant> pref = entryPreference;
-    
-    CaIconDescription iconDesc;
-    if(pref.contains(hsItemId))
-        {
-            CaEntry *update_entry = CaService::instance()->getEntry(pref.take(hsItemId).toInt());
-            
-            update_entry->setText(pref.take(hsItemName).toString());
-            
-            update_entry->setDescription(pref.take(hsItemDescription).toString());
-            
-            iconDesc.setFilename(pref.take(hsIconFileName).toString());
-            iconDesc.setSkinId(pref.take(hsIconName).toString());
-            iconDesc.setApplicationId(pref.take(hsIconApplicationId).toString());
-            update_entry->setIconDescription(iconDesc);
-            QMapIterator<QString, QVariant> k(pref);
-            while (k.hasNext()) {
-                k.next();
-                update_entry->setAttribute(k.key(),k.value().toString());
-            }
-            
-            result = CaService::instance()->updateEntry(*update_entry);
-        }
-    else if (pref.contains(hsItemName) && pref.contains(hsitemLaunchUri) && pref.contains(hsitemPublisherId))
-        {
-            CaEntry add_entry(ItemEntryRole);
-            add_entry.setEntryTypeName(templatedApplicationTypeName());
-            // mandatory values
-            add_entry.setText(pref.take(hsItemName).toString());
-            
-            iconDesc.setFilename(pref.take(hsIconFileName).toString());
-            iconDesc.setSkinId(pref.take(hsIconName).toString());
-            iconDesc.setApplicationId(pref.take(hsIconApplicationId).toString());            
-            add_entry.setIconDescription(iconDesc);  
-            
-            add_entry.setDescription(pref.take(hsItemDescription).toString());
-            QMapIterator<QString, QVariant> k(pref);
-            while (k.hasNext()) {
-                k.next();
-                add_entry.setAttribute(k.key(),k.value().toString());
-            }
-
-            add_entry.setFlags(add_entry.flags() & ~RemovableEntryFlag);
-            
-            CaEntry *entry = CaService::instance()->createEntry(add_entry);
-            if (entry) {
-                result = true;
-                delete entry;
-            }      
-        }
-    else
-        {
-            return false;
-        }
-    return result;
-    
-  
-}
-bool HsMenuContentPublishPrivate::remove(const QVariantMap &entry) const
-{
-    bool result = false;
-    if (entry.contains(hsItemId))
-        {    
-            result = CaService::instance()->removeEntry(entry.value(hsItemId).toInt());
-        }
-    return result;
-}
-
-QList<QVariantMap > HsMenuContentPublishPrivate::getList(const QVariantMap &queryPreference)
-{
-    QList<QVariantMap> list;
-    QMap<QString, QVariant> map = queryPreference;
-    
-    map.remove(hsItemName);
-    map.remove(hsItemDescription);
-    
-    CaQuery query;
-    // define query
-    query.setFlagsOn(VisibleEntryFlag);
-    query.setEntryRoles(ItemEntryRole);
-    query.setEntryTypeNames(QStringList(templatedApplicationTypeName()));
-    
-    
-    // add atributes to caquery
-    QMapIterator<QString, QVariant> k(map);
-    while (k.hasNext()) {
-        k.next();
-        query.setAttribute(k.key(),k.value().toString());
-    }  
-    QList<CaEntry *> entries = CaService::instance()->getEntries(query);
-    map.clear();
-    if (entries.count()) {
-        QMap<QString, QString> attrMap;
-        QMapIterator<QString, QString> k(attrMap);
-        //walk trought entrys and extract keys into map
-        for (int i = 0; i < entries.count(); ++i) {
-            map[hsItemId] = entries.at(i)->id();
-            map[hsItemName] = entries.at(i)->text();
-            map[hsItemDescription] = entries.at(i)->description();
-            CaIconDescription iconDesc = entries.at(i)->iconDescription();
-            map[hsIconFileName] = iconDesc.filename();
-            map[hsIconName] = iconDesc.skinId();
-            map[hsIconApplicationId] = iconDesc.applicationId();
-            
-            // extract entry atributes
-            attrMap = entries.at(i)->attributes();
-            QMapIterator<QString, QString> k(attrMap);
-            // insert entrys attr into map
-            while (k.hasNext()) {
-                k.next();
-                map.insert(k.key(),k.value());
-            }
-            list.append(map); //append entry map to list
-            // clean used maps
-            map.clear();
-            attrMap.clear();
-        }
-    }
-    qDeleteAll(entries);
-    return list;
-}