-rw-r--r-- | library/ir.cpp | 55 |
1 files changed, 48 insertions, 7 deletions
diff --git a/library/ir.cpp b/library/ir.cpp index 68345d1..a7cf7b1 100644 --- a/library/ir.cpp +++ b/library/ir.cpp @@ -1,79 +1,120 @@ +/********************************************************************** +** Copyright (C) 2000-2002 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. +** +**********************************************************************/ + #include "ir.h" #include <qstring.h> +#ifdef QWS #include "qcopenvelope_qws.h" #include <qcopchannel_qws.h> +#endif #include "applnk.h" /*! \class Ir ir.h \brief The Ir class implements basic support for sending objects over an infrared communication link. - The Ir class is a small helper class to enable sending of objects over an infrared communication link. + Both \link doclnk.html DocLnk\endlink objects and files can be + sent to another device via the infrared link using the send() + function. When the send has completed the done() signal is + emitted. + + The supported() function returns whether the device supports + infrared communication or not. + + \ingroup qtopiaemb */ /*! Constructs an Ir object. The \a parent and \a name classes are the standard QObject parameters. */ Ir::Ir( QObject *parent, const char *name ) : QObject( parent, name ) { +#ifndef QT_NO_COP ch = new QCopChannel( "QPE/Obex" ); connect( ch, SIGNAL(received(const QCString &, const QByteArray &)), this, SLOT(obexMessage( const QCString &, const QByteArray &)) ); +#endif } /*! - Returns TRUE if the system supports infrared communication. + Returns TRUE if the system supports infrared communication; + otherwise returns FALSE. */ bool Ir::supported() { +#ifndef QT_NO_COP return QCopChannel::isRegistered( "QPE/Obex" ); +#endif } /*! - Send the object in the file \a fn over the infrared link. - The \a description will be shown to the user while - sending is in progress. - The optional \a mimetype parameter specifies the mimetype of the object. If this parameter is not - set, it will be determined by the extension of the filename. + Sends the object in file \a fn over the infrared link. The \a + description is used in the text shown to the user while sending + is in progress. The optional \a mimetype parameter specifies the + mimetype of the object. If this parameter is not set, it is + determined by the the filename's suffix. + + \sa done() */ void Ir::send( const QString &fn, const QString &description, const QString &mimetype) { if ( !filename.isEmpty() ) return; filename = fn; +#ifndef QT_NO_COP QCopEnvelope e("QPE/Obex", "send(QString,QString,QString)"); e << description << filename << mimetype; +#endif } /*! \overload Uses the DocLnk::file() and DocLnk::type() of \a doc. + + \sa done() */ void Ir::send( const DocLnk &doc, const QString &description ) { send( doc.file(), description, doc.type() ); } /*! \fn Ir::done( Ir *ir ); This signal is emitted by \a ir, when the send comand has been processed. */ /*!\internal */ void Ir::obexMessage( const QCString &msg, const QByteArray &data) { if ( msg == "done(QString)" ) { QString fn; QDataStream stream( data, IO_ReadOnly ); stream >> fn; if ( fn == filename ) emit done( this ); } } |