Qtopia Home - Classes - Annotated - Functions - Qt Embedded

phoneqcop.h

This is the verbatim text of the phoneqcop.h include file. It is provided only for illustration; the copyright remains with Trolltech.


/**********************************************************************
** Copyright (C) 2000-2003 Trolltech AS.  All rights reserved.
**
** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/

#ifndef PHONEQCOP_H
#define PHONEQCOP_H


#include "phone_p.h"
#include "simtoolkit_p.h"


#include <qtopia/qcopenvelope_qws.h>


class SMSRequestPrivate;


// Name of the QCop channel to use for phone services.
#define	PHONE_CHANNEL "QPE/Phone"


class PhoneCallQCop : public PhoneCallPrivate
{
    Q_OBJECT
    friend class PhoneLineQCop;
public:
    PhoneCallQCop( PhoneLinePrivate *line );
    PhoneCallQCop( PhoneLinePrivate *line, const QString& ident );
    ~PhoneCallQCop();

    void dial( const QString& number, bool callerid );
    void hangup( PhoneCall::Scope scope );
    void accept();
    void hold();
    void activate( PhoneCall::Scope scope );
    void join( bool detachSubscriber );
    void tone( const QString& tones );
    void transfer( const QString& number );

private:
    QString identifier;

};


class PhoneLineQCop;


class PhoneBookQCop : public PhoneBookPrivate
{
    Q_OBJECT
public:
    PhoneBookQCop( PhoneLineQCop *_line );
    ~PhoneBookQCop();

    void getEntries( const QString& store );
    void add( const QString& number, const QString& text, const QString& store, bool flush );
    void remove( uint index, const QString& store, bool flush );
    void update( uint index, const QString& number, const QString& text, const QString& store, bool flush );
    void flush( const QString& store );

private slots:
    void listen( const QCString& msg, const QByteArray& data );
};


class SimToolkitQCop : public SimToolkitPrivate
{
    Q_OBJECT
public:
    SimToolkitQCop( PhoneLineQCop *line );
    virtual ~SimToolkitQCop();

    void begin();
    void response( ResponseType type, const QString& data1,
		   uint data2, SimCommand::Type data3 );

private slots:
    void listen( const QCString& msg, const QByteArray& data );
};


class PhoneLineQCop : public PhoneLinePrivate
{
    Q_OBJECT
public:
    PhoneLineQCop( PhoneLine *line, const QString& name );
    ~PhoneLineQCop();

    PhoneCallPrivate *createCall();
    SMSRequestPrivate *createSMSRequest();
    PhoneBookPrivate *createPhoneBook();
    SimToolkitPrivate *createSimToolkit();

    void query( PhoneLine::QueryType type ) const;
    void modify( PhoneLine::QueryType type, const QString& value );

    QCopChannel *serverChannel() const { return channel; }

    void startData( const QString& number, const QStringList& initCmds, const QStringList& moduleArgs, bool persist );
    void stopData();

private slots:
    void stateListen( const QCString& msg, const QByteArray& data );

private:
    QCopChannel *channel;

};


#endif // PHONEQCOP_H


Copyright © 2001-2004 Trolltech Trademarks
Qtopia version 2.0.1