author | zecke <zecke> | 2003-02-16 15:49:02 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-02-16 15:49:02 (UTC) |
commit | 30a098530260176ac20d75ba6cb7abfb3d998c13 (patch) (unidiff) | |
tree | ee5c08ca67fa00574414153921ab2de654c60421 /core/applets/obex/obeximpl.cc | |
parent | 7fab90d46144843d32e476ada8d0a5f40f50aa60 (diff) | |
download | opie-30a098530260176ac20d75ba6cb7abfb3d998c13.zip opie-30a098530260176ac20d75ba6cb7abfb3d998c13.tar.gz opie-30a098530260176ac20d75ba6cb7abfb3d998c13.tar.bz2 |
disable snd in IrDaApplet it hangs on my machine..
Remove the hacky OBEX Implementation
Add a more cleaned up more appealing (not yet working) version
which will even be able to do OBEX over Bluetooth in the future
-It handles receive better
let's you choose what to do with custom files and created a DocLnk
-Send lets you beam to multiple devices
this needs the IrDa Applet to be present
Diffstat (limited to 'core/applets/obex/obeximpl.cc') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/applets/obex/obeximpl.cc | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/core/applets/obex/obeximpl.cc b/core/applets/obex/obeximpl.cc deleted file mode 100644 index 88f2d44..0000000 --- a/core/applets/obex/obeximpl.cc +++ b/dev/null | |||
@@ -1,150 +0,0 @@ | |||
1 | |||
2 | #include <qdatastream.h> | ||
3 | #include <qmessagebox.h> | ||
4 | |||
5 | |||
6 | #include <qpe/qcom.h> | ||
7 | #include <qpe/applnk.h> | ||
8 | |||
9 | #include <qlabel.h> | ||
10 | |||
11 | #include "obex.h" | ||
12 | #include "obeximpl.h" | ||
13 | |||
14 | |||
15 | |||
16 | using namespace OpieObex; | ||
17 | |||
18 | ObexImpl::ObexImpl( ) | ||
19 | : QObject() { | ||
20 | // register to a channel | ||
21 | qWarning( "c'tor" ); | ||
22 | m_obex = new Obex(this, "obex"); | ||
23 | m_sendgui = new ObexDlg(); | ||
24 | m_recvgui = new ObexInc(); | ||
25 | m_chan = new QCopChannel("QPE/Obex" ); | ||
26 | connect(m_chan, SIGNAL(received(const QCString&, const QByteArray& ) ), | ||
27 | this, SLOT(slotMessage(const QCString&, const QByteArray&) ) ); | ||
28 | connect(m_obex, SIGNAL(receivedFile(const QString& ) ), | ||
29 | this, SLOT(slotReceivedFile(const QString& ) ) ); | ||
30 | connect((QObject*) m_recvgui->InsertButton, SIGNAL(clicked()), | ||
31 | m_recvgui, SLOT( accept() )); | ||
32 | connect((QObject*) m_recvgui->RejectButton, SIGNAL(clicked()), | ||
33 | m_recvgui, SLOT( reject() )); | ||
34 | } | ||
35 | |||
36 | ObexImpl::~ObexImpl() { | ||
37 | delete m_obex; | ||
38 | delete m_chan; | ||
39 | delete m_sendgui; | ||
40 | delete m_recvgui; | ||
41 | } | ||
42 | |||
43 | QRESULT ObexImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { | ||
44 | *iface = 0; | ||
45 | if( uuid == IID_QUnknown ) | ||
46 | *iface = this; | ||
47 | else if( uuid == IID_ObexInterface ) | ||
48 | *iface = this; | ||
49 | |||
50 | qWarning("query" ); | ||
51 | if(*iface ) | ||
52 | (*iface)->addRef(); | ||
53 | return QS_OK; | ||
54 | } | ||
55 | |||
56 | void ObexImpl::slotMessage( const QCString& msg, const QByteArray&data ) { | ||
57 | QDataStream stream( data, IO_ReadOnly ); | ||
58 | qWarning("Message %s", msg.data() ); | ||
59 | if(msg == "send(QString,QString,QString)" ) { | ||
60 | QString desc; | ||
61 | stream >> desc; | ||
62 | stream >> m_name; | ||
63 | m_sendgui->raise(); // should be on top | ||
64 | m_sendgui->showMaximized(); | ||
65 | m_sendgui->lblPath->setText(m_name); | ||
66 | connect( (QObject*)m_sendgui->PushButton2, SIGNAL(clicked()), | ||
67 | this, SLOT(slotCancelSend())); | ||
68 | m_obex->send(m_name ); | ||
69 | connect( (QObject*)m_obex, SIGNAL( sent() ), this, | ||
70 | SLOT( slotSent() ) ); | ||
71 | connect( (QObject*)m_obex, SIGNAL( error(int) ), this, | ||
72 | SLOT( slotSent() ) ); | ||
73 | }else if(msg == "receive(int)" ) { // open a GUI | ||
74 | //m_recvgui->showMaximized(); | ||
75 | int receiveD = 0; | ||
76 | stream >> receiveD; | ||
77 | if ( receiveD == 1) | ||
78 | m_obex->receive(); | ||
79 | else | ||
80 | m_obex->setReceiveEnabled( false ); | ||
81 | |||
82 | } else if (msg =="done(QString)") { | ||
83 | QString text; | ||
84 | stream >> text; | ||
85 | m_sendgui->lblPath->setText(tr("Done transfering " + text)); | ||
86 | |||
87 | } | ||
88 | } | ||
89 | |||
90 | void ObexImpl::slotCancelSend() { | ||
91 | // cancel sync process too | ||
92 | //m_obex->cancel(); // not ready yet | ||
93 | m_sendgui->hide(); | ||
94 | } | ||
95 | |||
96 | void ObexImpl::slotDone(bool) { | ||
97 | QCopEnvelope e ("QPE/Obex", "done(QString)" ); //but this into a slot | ||
98 | e << m_name; | ||
99 | } | ||
100 | |||
101 | void ObexImpl::slotSent() { | ||
102 | m_sendgui->lblPath->setText("Done!"); | ||
103 | m_sendgui->hide(); | ||
104 | } | ||
105 | |||
106 | void ObexImpl::slotError( int errorCode) { | ||
107 | |||
108 | QString errorString = ""; | ||
109 | if (errorCode == -1) { | ||
110 | errorString = "test"; | ||
111 | } | ||
112 | qDebug("Error: " + errorString); | ||
113 | m_sendgui->hide(); | ||
114 | } | ||
115 | |||
116 | // Received a file via beam | ||
117 | // check for mime type and then either | ||
118 | // add to App via setDocument | ||
119 | void ObexImpl::slotReceivedFile( const QString &fileName ) { | ||
120 | qWarning("filename %s", fileName.latin1() ); | ||
121 | DocLnk lnk( fileName ); | ||
122 | QString exec = lnk.exec(); | ||
123 | qWarning("executing %s", exec.latin1() ); | ||
124 | if ( exec.isEmpty() || exec == "" ) { | ||
125 | qWarning("empty"); | ||
126 | if ( fileName.right(4) == ".vcf" ) | ||
127 | exec = "addressbook"; | ||
128 | else if ( fileName.right(4) == ".vcs" ) { | ||
129 | exec = "datebook"; | ||
130 | } | ||
131 | } // now prompt and then add it | ||
132 | |||
133 | m_recvgui->PixmapLabel->setPixmap( lnk.pixmap() ); | ||
134 | m_recvgui->AppLabel->setText( "<b>" + exec + "<b>" ); | ||
135 | m_recvgui->FileLabel->setText( lnk.name() ); | ||
136 | // m_recvgui->showMaximized(); | ||
137 | // if( m_recvgui->exec() == 0 ) { | ||
138 | QCString str= "QPE/Application/"; | ||
139 | str += exec.latin1(); | ||
140 | qWarning("channel %s", str.data() ); | ||
141 | QCopEnvelope e(str , "setDocument(QString)" ); | ||
142 | e << fileName; | ||
143 | //} | ||
144 | } | ||
145 | |||
146 | |||
147 | |||
148 | Q_EXPORT_INTERFACE() { | ||
149 | Q_CREATE_INSTANCE( ObexImpl ) | ||
150 | } | ||