--- a/btobexprofiles/obexreceiveservices/btmsgviewer/src/btmsgviewer.cpp Tue Aug 31 15:25:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +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:
- *
- */
-
-
-#include "btmsgviewer.h"
-#include "apmstd.h"
-#include <xqaiwrequest.h>
-#include <xqconversions.h>
-#include <apgcli.h>
-#include <QFileInfo>
-#include <QDir>
-#include <QFile>
-#include <hbapplication.h>
-
-const QString KMimeTypeVCard("text/X-vCard");
-
-
-BTMsgViewer::BTMsgViewer(QObject* parent)
-: XQServiceProvider("com.nokia.services.btmsgdispservices.displaymsg", parent), mCurrentRequestIndex(0)
- {
- publishAll();
- connect(this, SIGNAL(returnValueDelivered()), qApp, SLOT(quit()));
- }
-
-BTMsgViewer::~BTMsgViewer ()
- {
-
- }
-
-void BTMsgViewer::displaymsg( int messageId )
- {
- mCurrentRequestIndex = setCurrentRequestAsync();
- CBtMsgViewerUtils* btViewerUtils = 0;
-
- TRAPD(error, btViewerUtils = CBtMsgViewerUtils::NewL());
- if(isError(error))
- {
- if(btViewerUtils)
- delete btViewerUtils;
-
- QVariant retVal(error);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
-
- HBufC* fileName = 0;
- fileName = btViewerUtils->GetMessagePath(messageId, error);
- if(isError(error))
- {
- if(fileName)
- delete fileName;
-
- delete btViewerUtils;
-
- QVariant retVal(error);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
-
- QString attachmentFName = XQConversions::s60DescToQString(fileName->Des());
- QString mimeType = XQConversions::s60Desc8ToQString(btViewerUtils->GetMimeType()->Des());
- delete fileName;
- delete btViewerUtils;
-
- if(mimeType == KMimeTypeVCard)
- {
- int error = KErrGeneral;
-
- /*todo: copyVCardToTemp() has to be removed when phonebook updates it's capabilites to
- access messages from private folder*/
- QString newfilepath = copyVCardToTemp(attachmentFName);
-
- QString service("com.nokia.services.phonebookservices");
- QString interface("Fetch");
- QString operation("editCreateNew(QString)");
- XQApplicationManager appManager;
- XQAiwRequest* request = appManager.create(service, interface, operation, true); //embedded
- if(request)
- {
- QList<QVariant> args;
- args << newfilepath;
- request->setArguments(args);
- QVariant retValue;
- bool res = request->send(retValue);
- if (!res)
- {
- error = request->lastError();
- }
- else
- {
- error = retValue.toInt();
- }
-
- delete request;
- }
-
- /*todo: copyVCardToTemp() has to be removed when phonebook updates it's capabilites to
- access messages from private folder*/
- deleteVCardFromTemp(newfilepath);
-
- QVariant retVal(error);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
-
- XQSharableFile sf;
- XQAiwRequest* request = 0;
-
- if (!sf.open(attachmentFName)) {
- QVariant retVal(KErrGeneral);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
-
- // Get handlers
- XQApplicationManager appManager;
- QList<XQAiwInterfaceDescriptor> fileHandlers = appManager.list(sf);
- if (fileHandlers.count() > 0) {
- XQAiwInterfaceDescriptor d = fileHandlers.first();
- request = appManager.create(sf, d);
-
- if (!request) {
- sf.close();
-
- QVariant retVal(KErrGeneral);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
- }
- else {
- sf.close();
-
- QVariant retVal(KErrGeneral);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
-
- request->setEmbedded(true);
- request->setSynchronous(true);
-
- // Fill args
- QList<QVariant> args;
- args << qVariantFromValue(sf);
- request->setArguments(args);
-
- int err = KErrNone;
- bool res = request->send();
- if (!res)
- {
- err = request->lastError();
- }
-
- // Cleanup
- sf.close();
- delete request;
-
- QVariant retVal(err);
- completeRequest(mCurrentRequestIndex, retVal);
- return;
- }
-
-bool BTMsgViewer::isError(int aError)
- {
- return ((aError < KErrNone)?true:false);
- }
-
-QString BTMsgViewer::copyVCardToTemp(const QString& filepath)
-{
- QDir tempDir;
- QString tempFilePath(QDir::toNativeSeparators(tempDir.tempPath()));
- tempFilePath.append(QDir::separator());
- QFileInfo fInfo(filepath);
- tempFilePath.append(fInfo.fileName());
- QFile::copy(filepath, tempFilePath);
- return tempFilePath;
-}
-
-void BTMsgViewer::deleteVCardFromTemp(const QString& filepath)
-{
- QFile::remove(filepath);
-}