summaryrefslogtreecommitdiff
path: root/core
authorzecke <zecke>2002-06-13 20:33:24 (UTC)
committer zecke <zecke>2002-06-13 20:33:24 (UTC)
commit21ad567831e0be83156d5023d93aac42a60a2af3 (patch) (side-by-side diff)
treec7b0094910e4a82cd2d2b738f2c88cd7eddfce26 /core
parented10b73df98c1b4c41a0b940e4f8729fe28c2b8a (diff)
downloadopie-21ad567831e0be83156d5023d93aac42a60a2af3.zip
opie-21ad567831e0be83156d5023d93aac42a60a2af3.tar.gz
opie-21ad567831e0be83156d5023d93aac42a60a2af3.tar.bz2
OBEX receiving is supporte
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/obex/obeximpl.cc40
-rw-r--r--core/applets/obex/obeximpl.h4
2 files changed, 38 insertions, 6 deletions
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
@@ -4,3 +4,6 @@
+
#include <qpe/qcom.h>
+#include <qpe/applnk.h>
+
#include <qlabel.h>
@@ -24,2 +27,4 @@ ObexImpl::ObexImpl( )
this, SLOT(slotMessage(const QCString&, const QByteArray&) ) );
+ connect(m_obex, SIGNAL(receivedFile(const QString& ) ),
+ this, SLOT(slotReceivedFile(const QString& ) ) );
}
@@ -49,12 +54,13 @@ void ObexImpl::slotMessage( const QCString& msg, const QByteArray&data ) {
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
@@ -84,3 +90,3 @@ void ObexImpl::slotDone(bool) {
QCopEnvelope e ("QPE/Obex", "done(QString)" ); //but this into a slot
- e << "Done!";
+ e << m_name;
}
@@ -101,2 +107,26 @@ void ObexImpl::slotError( int errorCode) {
}
+// 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;
+
+}
+
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
@@ -25,2 +25,3 @@ namespace OpieObex {
ObexInc *m_recvgui;
+ QString m_name;
private slots:
@@ -31,4 +32,5 @@ namespace OpieObex {
void slotDone(bool);
- //void slotReceivedFile(const QString & );
+ void slotReceivedFile(const QString & );
void slotSent();
+
};