phoneplugins/infowidgetplugin/infowidget/src/infowidgetsathandler.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 09:48:26 +0300
changeset 56 5bcb308bd24d
parent 46 bc5a64e5bc3c
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
 * 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 "infowidgetsathandler.h"
#include "infowidgetlogging.h"
#include <rsatservice.h>

/*!
  \class InfoWidgetSatHandler
  \brief Handles SIM Application Toolkit specific functionality of 
         Operator info widget
*/

/*!
   InfoWidgetSatHandler::InfoWidgetSatHandler
 */
InfoWidgetSatHandler::InfoWidgetSatHandler(QObject *parent):
    QObject(parent),
    m_satHandlerPrivate(NULL), 
    m_connected(false)
{
    DPRINT << ": IN";
    m_satHandlerPrivate.reset(
            new InfoWidgetSatHandlerPrivate(this, m_satService));
    DPRINT << ": OUT";
}

/*!
   InfoWidgetSatHandler::~InfoWidgetSatHandler
 */
InfoWidgetSatHandler::~InfoWidgetSatHandler()
{
    DPRINT; 
}

/*!
   InfoWidgetSatHandler::connect
 */
void InfoWidgetSatHandler::connect(bool connect)
{
    DPRINT; 
    if (connect && !m_connected) {
        DPRINT << "connect and startObserving() ";
        m_connected = m_satHandlerPrivate->connect();
        if (m_connected) {
            m_satHandlerPrivate->startObserving();
        }
    } else if (!connect && m_connected) {
        DPRINT << "disconnect and stopObserving() ";
        m_satHandlerPrivate->disconnect();
        m_connected = false; 
    }
    DPRINT << ": connected = " << m_connected;
}

/*!
   InfoWidgetSatHandler::satDisplayText
 */
const QString& InfoWidgetSatHandler::satDisplayText() const
{
    DPRINT << ": text: " << m_displayText; 
    return m_displayText;
}

/*!
   InfoWidgetSatHandler::setSatDisplayText
 */
void InfoWidgetSatHandler::setSatDisplayText(
        const QString& displayText)
{
    DPRINT << ": display text: " << displayText;
    m_displayText = displayText;
}

/*!
   InfoWidgetSatHandler::handleIdleModeTxtMessage
 */
void InfoWidgetSatHandler::handleIdleModeTxtMessage(int idleResult)
{
    DPRINT << ": handleIdleModeTxtMessage: " << idleResult;
    if (m_connected) {
        m_satService.SetIdleModeTextResponse(
                static_cast<RSatService::TSATIdleResult>(idleResult));
    } else {
        m_satService.SetIdleModeTextResponse( 
                RSatService::ESATIdleCmdBeyondMeCapabilities );
    }
 
    // Emit the result
    emit handleMessage(idleResult);
}

/*!
   InfoWidgetSatHandler::handleSatError
 */
void InfoWidgetSatHandler::handleSatError(
        int operation, int errorCode)
{
    DWARNING << ": satError : operation: " << 
            operation << ": errorCode: "<<errorCode;
    m_satService.SetIdleModeTextResponse( 
            RSatService::ESATIdleMeUnableToProcessCmd);
    emit handleError(operation, errorCode);
}

// End of File.