-rw-r--r-- | core/obex/obex.cc | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/core/obex/obex.cc b/core/obex/obex.cc index b8ed6e0..595fed9 100644 --- a/core/obex/obex.cc +++ b/core/obex/obex.cc @@ -1,21 +1,24 @@ #include <qapplication.h> #include <qfile.h> -#include <qmessagebox.h> +#include <qfileinfo.h> +#include <qtextcodec.h> + #include <qpe/qcopenvelope_qws.h> + #include <opie/oprocess.h> #include "obex.h" using namespace OpieObex; Obex::Obex( QObject *parent, const char* name ) : QObject(parent, name ) { m_rec = 0; m_send=0; m_count = 0; m_receive = false; connect( this, SIGNAL(error(int) ), // for recovering to receive SLOT(slotError() ) ); connect( this, SIGNAL(sent(bool) ), SLOT(slotError() ) ); @@ -93,42 +96,55 @@ void Obex::sendNow(){ 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 - QString str = QString::fromUtf8( buf, len ); - m_outp.append( str ); + for (int i = 0; i < len; i++ ) { + printf("%c", buf[i] ); + } + printf("\n"); + QByteArray ar( len ); + memcpy( ar.data(), buf, len ); + qWarning("parsed: %s", ar.data() ); + m_outp.append( ar ); } } void Obex::received() { if (m_rec->normalExit() ) { if ( m_rec->exitStatus() == 0 ) { // we got one QString filename = parseOut(); qWarning("ACHTUNG %s", filename.latin1() ); + if (filename.contains( 'ö' ) || filename.contains( 'ä' ) || filename.contains('ü' ) ) { + qWarning("renaming!!!!"); + QFileInfo inf( filename ); + QString newName = "/tmp/opie-obex." + inf.extension(); + ::rename( QFile::encodeName( filename ).data(), newName ); + qWarning("name is %s", QFile::encodeName( filename ).data() ); + } emit receivedFile( filename ); } }else{ emit done(false); }; delete m_rec; m_rec = 0; receive(); } void Obex::sendEnd() { if (m_send->normalExit() ) { if ( m_send->exitStatus() == 0 ) { delete m_send; m_send=0; qWarning("done" ); |