emailservices/nmclientapi/src/nmapimailboxsettings_p.cpp
changeset 54 997a02608b3a
child 59 16ed8d08d0b1
equal deleted inserted replaced
53:bf7eb7911fc5 54:997a02608b3a
       
     1 /*
       
     2  * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0"
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  *
       
    12  * Contributors:
       
    13  *
       
    14  * Description:
       
    15  *
       
    16  */
       
    17 
       
    18 #include "nmapiheaders.h"
       
    19 
       
    20 
       
    21 namespace EmailClientApi
       
    22 {
       
    23 NmApiMailboxSettingsPrivate::NmApiMailboxSettingsPrivate(QObject *parent) : 
       
    24     QObject(parent), 
       
    25     mFactory(NULL),
       
    26     mDeleteMailboxOperation(NULL)
       
    27 {
       
    28     NM_FUNCTION;
       
    29     mFactory = NmApiDataPluginFactory::instance();
       
    30     Q_CHECK_PTR(mFactory);
       
    31 }
       
    32 
       
    33 NmApiMailboxSettingsPrivate::~NmApiMailboxSettingsPrivate()
       
    34 {
       
    35     NM_FUNCTION;
       
    36     NmApiDataPluginFactory::releaseInstance(mFactory);
       
    37     if(mDeleteMailboxOperation && mDeleteMailboxOperation->isRunning()) {
       
    38         mDeleteMailboxOperation->cancelOperation();        
       
    39     }
       
    40 }
       
    41 
       
    42 bool NmApiMailboxSettingsPrivate::listMailboxIds(QList<quint64> &idList)
       
    43 {
       
    44     NM_FUNCTION; 
       
    45     QList<NmId> mailboxIds;
       
    46     bool ret = false;
       
    47     idList.clear();
       
    48     
       
    49     NmDataPluginInterface *instance = mFactory->interfaceInstance();
       
    50     if (instance) {
       
    51         if (instance->listMailboxIds(mailboxIds) == KErrNone) {
       
    52             
       
    53             foreach (NmId boxId, mailboxIds) {
       
    54                         idList.append(boxId.id());
       
    55                     }
       
    56             
       
    57             ret = true;   
       
    58             }
       
    59         } 
       
    60      
       
    61     return ret;
       
    62 }
       
    63 
       
    64 bool NmApiMailboxSettingsPrivate::loadSettings(quint64 mailboxId, NmApiMailboxSettingsData &data)
       
    65 {
       
    66     NM_FUNCTION;
       
    67     Q_UNUSED(mailboxId);
       
    68     Q_UNUSED(data);
       
    69     return false;
       
    70 }
       
    71 
       
    72 bool NmApiMailboxSettingsPrivate::saveSettings(const NmApiMailboxSettingsData &data)
       
    73 {
       
    74     NM_FUNCTION;
       
    75     Q_UNUSED(data);
       
    76     return false;
       
    77 }
       
    78 
       
    79 bool NmApiMailboxSettingsPrivate::createMailbox(
       
    80     const QString &mailboxType,
       
    81     NmApiMailboxSettingsData &data)
       
    82 {
       
    83     NM_FUNCTION;
       
    84     Q_UNUSED(mailboxType);
       
    85     Q_UNUSED(data);
       
    86     bool ret = false;
       
    87     
       
    88     /*QT_TRY {
       
    89         if (mailboxType==NmApiMailboxTypePop || mailboxType==NmApiMailboxTypeImap) {
       
    90             QScopedPointer<NmApiPopImapSettingsManager> popImapManager(new NmApiPopImapSettingsManager());  
       
    91             popImapManager->createMailbox(mailboxType, data);
       
    92             ret = true;
       
    93         }
       
    94         else {
       
    95             ret = false;
       
    96         }
       
    97         //TODO store cenrep stuff here
       
    98     }
       
    99     QT_CATCH(...){
       
   100         ret = false;
       
   101     }*/
       
   102     
       
   103     return ret;
       
   104 }
       
   105 
       
   106 bool NmApiMailboxSettingsPrivate::deleteMailbox(quint64 mailboxId)
       
   107 {
       
   108     NM_FUNCTION;
       
   109     bool ret = false;
       
   110     NmDataPluginInterface *instance = mFactory->interfaceInstance();
       
   111     if (instance) {
       
   112         if (mDeleteMailboxOperation && mDeleteMailboxOperation->isRunning()) {
       
   113             mDeleteMailboxOperation->cancelOperation();
       
   114         }
       
   115         mDeleteMailboxOperation = instance->deleteMailboxById(NmId(mailboxId));
       
   116         
       
   117         if (mDeleteMailboxOperation) {
       
   118             ret = true;
       
   119             connect(mDeleteMailboxOperation, 
       
   120                     SIGNAL(operationCompleted(int)), 
       
   121                     this, 
       
   122                     SIGNAL(mailboxDeleted(int)));
       
   123         }
       
   124     }
       
   125     return ret;
       
   126 }
       
   127 
       
   128 bool NmApiMailboxSettingsPrivate::populateDefaultSettings(
       
   129     const QString &mailboxType, NmApiMailboxSettingsData &data) 
       
   130 {
       
   131     NM_FUNCTION;
       
   132     Q_UNUSED(mailboxType);
       
   133     Q_UNUSED(data);
       
   134     /*QScopedPointer<NmApiPopImapSettingsManager> popImapManager(new NmApiPopImapSettingsManager());  
       
   135     return popImapManager->populateDefaults(mailboxType, data);*/
       
   136     return true;
       
   137 }
       
   138 
       
   139 }// namespace