From 21ad567831e0be83156d5023d93aac42a60a2af3 Mon Sep 17 00:00:00 2001 From: zecke Date: Thu, 13 Jun 2002 20:33:24 +0000 Subject: OBEX receiving is supporte --- (limited to 'core') diff --git a/core/applets/obex/obeximpl.cc b/core/applets/obex/obeximpl.cc index 0c137af..1a1c922 100644 --- a/core/applets/obex/obeximpl.cc +++ b/core/applets/obex/obeximpl.cc @@ -2,7 +2,10 @@ #include #include + #include +#include + #include #include "obex.h" @@ -22,6 +25,8 @@ ObexImpl::ObexImpl( ) m_chan = new QCopChannel("QPE/Obex" ); connect(m_chan, SIGNAL(received(const QCString&, const QByteArray& ) ), this, SLOT(slotMessage(const QCString&, const QByteArray&) ) ); + connect(m_obex, SIGNAL(receivedFile(const QString& ) ), + this, SLOT(slotReceivedFile(const QString& ) ) ); } ObexImpl::~ObexImpl() { delete m_obex; @@ -47,16 +52,17 @@ void ObexImpl::slotMessage( const QCString& msg, const QByteArray&data ) { if(msg == "send(QString,QString,QString)" ) { QString desc; stream >> desc; - QString filename; - stream >> filename; + stream >> m_name; m_sendgui->raise(); // should be on top m_sendgui->showMaximized(); - m_sendgui->lblPath->setText(filename); + m_sendgui->lblPath->setText(m_name); connect( (QObject*)m_sendgui->PushButton2, SIGNAL(clicked()), this, SLOT(slotCancelSend())); - m_obex->send(filename ); + m_obex->send(m_name ); connect( (QObject*)m_obex, SIGNAL( sent() ), this, SLOT( slotSent() ) ); + connect( (QObject*)m_obex, SIGNAL( error(int) ), this, + SLOT( slotSent() ) ); }else if(msg == "receive(int)" ) { // open a GUI m_recvgui->showMaximized(); int receiveD = 0; @@ -82,7 +88,7 @@ void ObexImpl::slotCancelSend() { void ObexImpl::slotDone(bool) { QCopEnvelope e ("QPE/Obex", "done(QString)" ); //but this into a slot - e << "Done!"; + e << m_name; } void ObexImpl::slotSent() { @@ -99,6 +105,30 @@ void ObexImpl::slotError( int errorCode) { qDebug("Error: " + errorString); m_sendgui->hide(); } +// Received a file via beam +// check for mime type and then either +// add to App via setDocument +void ObexImpl::slotReceivedFile( const QString &fileName ) { + qWarning("filename %s", fileName.latin1() ); + DocLnk lnk( fileName ); + QString exec = lnk.exec(); + qWarning("executing %s", exec.latin1() ); + if ( exec.isEmpty() || exec == "" ) { + qWarning("empty"); + if ( fileName.right(4) == ".vcf" ) + exec = "addressbook"; + else if ( fileName.right(4) == ".vcs" ) { + exec = "datebook"; + } + } // now prompt and then add it + QCString str= "QPE/Application/"; + str += exec.latin1(); + qWarning("channel %s", str.data() ); + QCopEnvelope e(str , "setDocument(QString)" ); + e << fileName; + +} + Q_EXPORT_INTERFACE() { diff --git a/core/applets/obex/obeximpl.h b/core/applets/obex/obeximpl.h index 4e5109f..8d10cf1 100644 --- a/core/applets/obex/obeximpl.h +++ b/core/applets/obex/obeximpl.h @@ -23,14 +23,16 @@ namespace OpieObex { QCopChannel *m_chan; ObexDlg *m_sendgui; ObexInc *m_recvgui; + QString m_name; private slots: void slotCancelSend(); void slotMessage( const QCString&, const QByteArray& ); void slotError(int ); // void slotCurrentTry( unsigned int ); */ void slotDone(bool); - //void slotReceivedFile(const QString & ); + void slotReceivedFile(const QString & ); void slotSent(); + }; }; #endif -- cgit v0.9.0.2