summaryrefslogtreecommitdiff
authorkorovkin <korovkin>2006-11-14 21:29:08 (UTC)
committer korovkin <korovkin>2006-11-14 21:29:08 (UTC)
commit663a33f463ac184b10cb3adc354f62a6a5c3e2b0 (patch) (side-by-side diff)
tree712fd278f04b45287f6b849a0083806989763342
parentb06913999f349254ba1c6e182950cb71d0b7aa67 (diff)
downloadopie-663a33f463ac184b10cb3adc354f62a6a5c3e2b0.zip
opie-663a33f463ac184b10cb3adc354f62a6a5c3e2b0.tar.gz
opie-663a33f463ac184b10cb3adc354f62a6a5c3e2b0.tar.bz2
Removed class members that shadowed the base class members, which
caused the system crash.
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/obex/obex.cpp1
-rw-r--r--core/obex/obex.h4
2 files changed, 0 insertions, 5 deletions
diff --git a/core/obex/obex.cpp b/core/obex/obex.cpp
index e4a3c31..670f1a5 100644
--- a/core/obex/obex.cpp
+++ b/core/obex/obex.cpp
@@ -35,97 +35,96 @@
#include <opie2/oprocess.h>
#include <opie2/odebug.h>
/* QT */
#include <qfileinfo.h>
using namespace OpieObex;
using namespace Opie::Core;
/* TRANSLATOR OpieObex::Obex */
Obex::Obex( QObject *parent, const char* name )
: ObexBase(parent, name )
{
m_rec = 0;
m_send=0;
};
Obex::~Obex() {
delete m_rec;
delete m_send;
}
void Obex::receive() {
ObexBase::receive();
m_rec = new ObexServer(OBEX_TRANS_IRDA);
// connect to the necessary slots
connect(m_rec, SIGNAL(processExited(Opie::Core::OProcess*) ),
this, SLOT(slotExited(Opie::Core::OProcess*) ) );
connect(m_rec, SIGNAL(receivedStdout(Opie::Core::OProcess*, char*, int ) ),
this, SLOT(slotStdOut(Opie::Core::OProcess*, char*, int) ) );
if(!m_rec->start(OProcess::NotifyOnExit, OProcess::AllOutput) ) {
emit done( false );
delete m_rec;
m_rec = 0;
}
}
// if currently receiving stop it send receive
void Obex::send(const QString& fileName, const QString& addr) {
ObexBase::send(fileName, addr);
if (m_rec != 0 ) {
if (m_rec->isRunning() ) {
emit error(-1 );
delete m_rec;
m_rec = 0;
-
}else{
emit error( -1 ); // we did not delete yet but it's not running slotExited is pending
return;
}
}
sendNow();
}
void Obex::sendNow(){
if ( m_count >= 25 ) { // could not send
emit error(-1 );
emit sent(false);
return;
}
// OProcess inititialisation
m_send = new OProcess();
m_send->setWorkingDirectory( QFileInfo(m_file).dirPath(true) );
*m_send << "irobex_palm3";
*m_send << QFile::encodeName(QFileInfo(m_file).fileName());
// connect to slots Exited and and StdOut
connect(m_send, SIGNAL(processExited(Opie::Core::OProcess*) ),
this, SLOT(slotExited(Opie::Core::OProcess*)) );
connect(m_send, SIGNAL(receivedStdout(Opie::Core::OProcess*, char*, int )),
this, SLOT(slotStdOut(Opie::Core::OProcess*, char*, int) ) );
// now start it
if (!m_send->start(/*OProcess::NotifyOnExit, OProcess::AllOutput*/ ) ) {
m_count = 25;
emit error(-1 );
delete m_send;
m_send=0;
}
// end
m_count++;
emit currentTry( m_count );
}
void Obex::slotExited(OProcess* proc ){
if (proc == m_rec ) // receive process
received();
else if ( proc == m_send )
sendEnd();
}
void Obex::slotStdOut(OProcess* proc, char* buf, int len){
if ( proc == m_rec ) { // only receive
QByteArray ar( len );
diff --git a/core/obex/obex.h b/core/obex/obex.h
index b948ce4..745f1c2 100644
--- a/core/obex/obex.h
+++ b/core/obex/obex.h
@@ -36,80 +36,76 @@
#include <qobject.h>
#include "obexserver.h"
namespace Opie {namespace Core {class OProcess;}}
class QCopChannel;
namespace OpieObex {
class Obex : public ObexBase {
Q_OBJECT
public:
/**
* Obex c'tor look
*/
Obex( QObject *parent, const char* name);
/**
* d'tor
*/
~Obex();
/**
* Starting listening to irda after enabled by the applet
* a signal gets emitted when received a file
*/
virtual void receive();
virtual void send(const QString& filename, const QString& addr);
virtual void setReceiveEnabled( bool = false );
signals:
/**
* a signal
* @param path The path to the received file
*/
void receivedFile( const QString& path);
/**
* error signal if the program couldn't be started or the
* the connection timed out
*/
void error( int );
/**
* The current try to receive data
*/
void currentTry(unsigned int);
/**
* signal sent The file got beamed to the remote location
*/
void sent(bool);
void done(bool);
private:
- uint m_count;
- QString m_file;
- QString m_outp;
Opie::Core::OProcess *m_send;
ObexServer* m_rec; //The OBEX server
- bool m_receive : 1;
void shutDownReceive();
private slots:
/**
* send over palm obex
*/
//void send(const QString&);
// the process exited
void slotExited(Opie::Core::OProcess* proc) ;
void slotStdOut(Opie::Core::OProcess*, char*, int);
virtual void slotError();
private:
void sendNow();
QString parseOut();
void received();
void sendEnd();
};
};
#endif