phonesrv_plat/call_remote_party_information_api/inc/xqcallremotepartyinfo.h
author hgs
Mon, 04 Oct 2010 15:57:13 +0300
changeset 51 12bc758d6a02
permissions -rw-r--r--
201039

/*!
* 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: Provides information about remote party information of ongoing calls.
*
*/

#ifndef XQCALLREMOTEPARTYINFO_H
#define XQCALLREMOTEPARTYINFO_H

#include <QObject>
#include <QString>
#include <QGlobal.h>
#include <ccpdefs.h>
#include <mcallremotepartyinfo.h>

// forward declarations 
class XQCallRemotePartyInfoPrivate;
class CallRemotePartyInfoPrivate;

/*!
    CallRemotePartyInfo
    Holds calls remote party information.
*/
NONSHARABLE_CLASS( CallRemotePartyInfo )
    {
public:
    /*!
       Constructors and destructor
    */
    CallRemotePartyInfo();
    CallRemotePartyInfo(const CallRemotePartyInfo&);
    CallRemotePartyInfo& operator=(const CallRemotePartyInfo&);
    ~CallRemotePartyInfo();

public:
    void setCallIndex(int index); 
    void setAddress(QString address); 
    void setMatchedName(QString matchedName); 
    void setNameFromNetwork(QString nameFromNetwork); 
    void setCompanyName(QString companyName); 
    void setSATCall(bool SATCall); 
    void setRemoteIdentity(MCallRemotePartyInfo::TRemoteIdentityStatus remoteIdentity); 
    
    int callIndex() const;  
    QString address() const;
    QString matchedName() const ; 
    QString nameFromNetwork() const; 
    QString companyName() const; 
    bool SATCall() const; 
    MCallRemotePartyInfo::TRemoteIdentityStatus remoteIdentity() const;
    
protected:  
    CallRemotePartyInfoPrivate* d_ptr;  
     
    };
 

#ifdef BUILD_XQCALLREMOTEPARTYINFO
#define XQCALLREMOTEPARTYINFO_EXPORT Q_DECL_EXPORT
#else
#define XQCALLREMOTEPARTYINFO_EXPORT Q_DECL_IMPORT
#endif
/*!
    XQCallRemotePartyInfo
    Class to be used for receiving information about ongoing call remote party informations.
    
    Usage example:
    
    QList<CallRemotePartyInfo> infos;
    CallRemotePartyInfo callRemotePartyInfoFirst;
    CallRemotePartyInfo callRemotePartyInfoLast;
    XQCallRemotePartyInfo xqCallRemotePartyInfo;
    xqCallRemotePartyInfo.getCallRemotePartyInfos(infos);
    callRemotePartyInfoFirst = infos.first();
    callRemotePartyInfoLast = infos.last();
     
*/


class XQCALLREMOTEPARTYINFO_EXPORT XQCallRemotePartyInfo: public QObject
{
    Q_OBJECT

public: 
    /*!
       Constructor and destructor
    */
    XQCallRemotePartyInfo ();
    ~XQCallRemotePartyInfo ();
        
    /*!
        \fn void getCallRemotePartyInfos(QList<CallRemotePartyInfo> &infos)
        
        Gets the snapshot of remote party information of ongoing calls.
    */
    void getCallRemotePartyInfos(QList<CallRemotePartyInfo> &infos);
 
signals:
    
    /*!
        \fn void callRemotePartyInformationChanged()
        
        Signals that there are changes in remote party informations of ongoing calls. 
        Client should fetch the call infomations after receiving the notification.
    */
    void callRemotePartyInformationChanged();

private slots:       
   
/*!
        \fn void sendCallRemotePartyInfoChangedSignal()
        
        Sends signal call remote party info changed signal to client's.
    */
    void sendCallRemotePartyInfoChangedSignal();
    
    
protected:  

     XQCallRemotePartyInfoPrivate* const d_ptr;  

     Q_DECLARE_PRIVATE(XQCallRemotePartyInfo);  
 
};

#endif // XQCALLREMOTEPARTYINFO_H