summaryrefslogtreecommitdiffstats
path: root/korn/kio.cpp
diff options
context:
space:
mode:
authorSlávek Banko <[email protected]>2013-09-03 20:02:55 +0200
committerSlávek Banko <[email protected]>2013-09-03 21:02:00 +0200
commit533bad2a1503973aaf8186691422c2eda91d02d4 (patch)
treef7e52f62416048859aa9bde8425e20aac0e7c669 /korn/kio.cpp
parent8144d5434bbd1c4448a37695aed6ad3d348043d8 (diff)
downloadtdepim-533bad2a1503973aaf8186691422c2eda91d02d4.tar.gz
tdepim-533bad2a1503973aaf8186691422c2eda91d02d4.zip
Additional k => tde renaming and fixes
Diffstat (limited to 'korn/kio.cpp')
-rw-r--r--korn/kio.cpp561
1 files changed, 0 insertions, 561 deletions
diff --git a/korn/kio.cpp b/korn/kio.cpp
deleted file mode 100644
index 678b3848c..000000000
--- a/korn/kio.cpp
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * Copyright (C) Sirtaj Singh Kang
- * Copyright (C) Kurt Granroth
- * Copyright (C) 2004, Mart Kelder ([email protected])
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-/*
- * kio.cpp -- Implementation of class KKIODrop.
- * It is copyied from imap.cpp, with was writed by:
- * Author: Kurt Granroth
- * Version: $Id$
- * Changed by:
- * Mart Kelder <[email protected]>, 2004
- */
-
-#include "kio.h"
-#include "tdeio_count.h"
-#include "tdeio_subjects.h"
-#include "tdeio_read.h"
-#include "tdeio_delete.h"
-#include "protocol.h"
-#include "protocols.h"
-#include "stringid.h"
-#include"utils.h"
-//#include"kiocfg.h"
-//#include"dropdlg.h"
-#include "mailsubject.h"
-
-#include<tdeconfig.h>
-#include<tdeconfigbase.h>
-#include<kdebug.h>
-#include<tdelocale.h>
-#include<kprocess.h>
-
-#include<tqptrlist.h>
-#include<tqregexp.h>
-#include<tqvaluelist.h>
-#include<tqvaluevector.h>
-
-#include<assert.h>
-#include<ctype.h>
-#include<stdio.h>
-#include<stdlib.h>
-
-//Headers of protocols
-#include"tdeio_proto.h"
-//#include"pop3_proto.h"
-//#include"pop3s_proto.h"
-//#include"imap_proto.h"
-//#include"imaps_proto.h"
-//#include"nntp_proto.h"
-//#include"maildir_proto.h"
-//#include"qmail_proto.h"
-//#include"process_proto.h"
-#include"mbox_proto.h"
-
-/*
- * The 'process' maildrop is a lot different than the other protocols:
- * it haven't a tdeioslave and could not result in file list. To prevent
- * trowing it away, that functionality is hacked in this file.
- */
-
-KKioDrop::KKioDrop()
- : KPollableDrop(),
- _kurl( 0 ),
- _metadata( 0 ),
- _valid(false),
- _protocol( 0 ),
- _ssl(false),
- _count( 0 ),
- _subjects( 0 ),
- _read( 0 ),
- _readSubjectsTotalSteps( 0 ),
- _deleteMailsTotalSteps( 0 ),
- _process( 0 ),
- _mailurls( 0 )
-{
- _kurl = new KURL;
- _metadata = new TDEIO::MetaData;
-
- //Initialising protocol; if no protocol is set before first use, it will use the first protocol
- _protocol = Protocols::firstProtocol()->getKIOProtocol(); //The first protocol is the default
- _kurl->setPort( _protocol->defaultPort( _ssl ) );
-
- //Creating children and connect them to the outside world; this class passes the messages for them...
- //This class handles all the counting.
- _count = new KIO_Count( this, "tdeio_count" );
-
- //This class is responsible for providing the available subjects
- _subjects = new KIO_Subjects( this, "tdeio_subjects" );
-
- //This class is used when a full message has to be read.
- _read = new KIO_Read( this, "tdeio_read" );
-
- //This class can delete mails.
- _delete = new KIO_Delete( this, "tdeio_delete" );
-
- _mailurls = new TQValueList<FileInfo>;
-}
-
-KKioDrop::KKioDrop( TDEConfigGroup* )
- : KPollableDrop(),
- _kurl( 0 ),
- _metadata( 0 ),
- _valid(false),
- _protocol( 0 ),
- _ssl(false),
- _count( 0 ),
- _subjects( 0 ),
- _read( 0 ),
- _readSubjectsTotalSteps( 0 ),
- _deleteMailsTotalSteps( 0 ),
- _process( 0 ),
- _mailurls( 0 )
-{
- _kurl = new KURL;
- _metadata = new TDEIO::MetaData;
-
- //Initialising protocol; if no protocol is set before first use, it will use the first protocol
- _protocol = Protocols::firstProtocol()->getKIOProtocol(); //The first protocol is the default
- _kurl->setPort( _protocol->defaultPort( _ssl ) );
-
- //Creating children and connect them to the outside world; this class passes the messages for them...
- //This class handles all the counting.
- _count = new KIO_Count( this, "tdeio_count" );
-
- //This class is responsible for providing the available subjects
- _subjects = new KIO_Subjects( this, "tdeio_subjects" );
-
- //This class is used when a full message has to be read.
- _read = new KIO_Read( this, "tdeio_read" );
-
- //This class can delete mails.
- _delete = new KIO_Delete( this, "tdeio_delete" );
-
- _mailurls = new TQValueList<FileInfo>;
-
- //readConfigGroup( *config );
-}
-
-void KKioDrop::setKioServer( const TQString & proto, const TQString & server, int port )
-{
- //Settings default for last vars; could not inline because TDEIO::MetaData-object is not defined in header.
- setKioServer( proto, server, port, TDEIO::MetaData(), false, true );
-}
-
-void KKioDrop::setKioServer(const TQString & proto, const TQString & server, int port, const TDEIO::MetaData metadata, bool ssl,
- bool setProtocol )
-{
- TQString auth;
-
- if( port == -1 )
- port = _protocol->defaultPort( ssl );
-
- if( setProtocol ) //false if _protocol already made
- {
- _protocol = Protocols::getProto( proto )->getKIOProtocol();
-
- if( ! _protocol )
- _protocol = Protocols::firstProtocol()->getKIOProtocol();
- }
-
- _kurl->setProtocol( _protocol->protocol( ssl ) );
- _kurl->setHost ( server );
- _kurl->setPort ( port );
- _ssl = ssl;
-
- //Checking for authentication-settings.
- //if( _metadata->contains("auth") )
- //{
- // auth = (*_metadata)["auth"];
- // *_metadata = metadata;
- // if( ! _metadata->contains("auth") )
- // (*_metadata)["auth"] = auth;
- //} else
- *_metadata = metadata;
-
- _count->stopActiveCount();
-}
-
-void KKioDrop::setUser(const TQString & user, const TQString & password,
- const TQString & mailbox, const TQString & auth )
-{
- _kurl->setUser( user );
- _password = password ;
- _kurl->setPass( _password );
- _kurl->setPath( mailbox );
- if( ! auth.isEmpty() && auth != "Plain" )
- (*_metadata)["auth"] = auth;
- else if( _metadata->contains( "auth" ) )
- _metadata->erase( "auth" );
-
- _valid = _kurl->isValid();
- emit validChanged( valid() );
-
- if( ! _valid )
- kdWarning() << i18n( "url is not valid" ) << endl;
-
- _count->stopActiveCount();
-}
-
-TQString KKioDrop::protocol() const
-{
- return _protocol->configName();
-}
-
-TQString KKioDrop::server() const
-{
- return _kurl->host();
-}
-int KKioDrop::port() const
-{
- return _kurl->port();
-}
-
-TQString KKioDrop::user() const
-{
- return _kurl->user();
-}
-TQString KKioDrop::password() const
-{
- return _password ;
-}
-TQString KKioDrop::mailbox() const
-{
- return _kurl->path();
-}
-TQString KKioDrop::auth() const
-{
- return ( _metadata->contains("auth")?(*_metadata)["auth"]:"" );
-}
-
-void KKioDrop::recheck()
-{
- if( _protocol->configName() == "process" ) //Process isn't pollable
- {
- emit rechecked();
- return;
- }
-
- _count->count( this );
-
- return;
-}
-
-void KKioDrop::forceRecheck()
-{
- if( _protocol->configName() == "process" )
- return;
-
- _count->stopActiveCount();
- _count->count( this );
-
- return;
-}
-
-bool KKioDrop::valid()
-{
- return _valid && _count->valid() && _subjects->valid();
-}
-
-KKioDrop::~KKioDrop()
-{
- delete _count;
- delete _subjects;
- delete _kurl;
- delete _metadata;
- delete _mailurls;
-}
-
-bool KKioDrop::canReadSubjects( )
-{
- return (_protocol!=0?_protocol->canReadSubjects():false);
-}
-
-TQValueVector<KornMailSubject> * KKioDrop::doReadSubjects(bool * )
-{
- _subjects->doReadSubjects( this );
-
- /*
- * A empty TQValueVector is made here.
- * After that, the size is expanded to the expected number of subjects.
- * This way, reallocation of memmory is minimized, and thus more efficient.
- */
- TQValueVector<KornMailSubject> *vector = new TQValueVector<KornMailSubject>( );
- vector->reserve( _mailurls->count() );
- return vector;
-}
-
-bool KKioDrop::canReadMail( )
-{
- return (_protocol!=0?_protocol->canReadMail():false);
-}
-
-bool KKioDrop::deleteMails(TQPtrList<const KornMailId> * ids, bool * /*stop*/)
-{
- _delete->deleteMails( ids, this );
- return _delete->valid();
-}
-
-bool KKioDrop::canDeleteMails ()
-{
- return (_protocol!=0?_protocol->canDeleteMail():false);
-}
-
-TQString KKioDrop::readMail(const KornMailId * item, bool * )
-{
- _read->readMail( item, this );
-
- return "";
-}
-
-KMailDrop* KKioDrop::clone() const
-{
- KKioDrop *clone = new KKioDrop;
-
- *clone = *this;
-
- return clone;
-}
-
-bool KKioDrop::readConfigGroup( const TQMap< TQString, TQString > &map, const Protocol* protocol )
-{
- TQString val, val2;
-
- if( !map.contains( "server" ) || !map.contains( "port" ) || !map.contains( "ssl" ) || !map.contains( "username" ) ||
- !map.contains( "mailbox" ) || !map.contains( "password" ) || !map.contains( "metadata" ) || !map.contains( "name" ) )
- {
- kdWarning() << "Bug: map niet compleet" << endl;
- return false;
- }
-
- this->setName( (*map.find( "name" )).utf8() );
-
- _protocol = protocol->getKIOProtocol();
- if( !_protocol )
- _protocol = Protocols::firstProtocol()->getKIOProtocol();
-
- val = *map.find( "server" );
- setKioServer( val2, val, (*map.find( "port" )).toInt(), TDEIO::MetaData(), *map.find( "ssl" ) == "true", false );
-
- _kurl->setUser( *map.find( "username" ) );
- _kurl->setPath( *map.find( "mailbox" ) );
-
- _kurl->setPass( *map.find( "password" ) );
-
- TQStringList list = TQStringList::split( ',', *map.find( "metadata" ) );
- TQStringList::Iterator it;
- for( it = list.begin(); it != list.end(); ++it )
- {
- int split = (*it).find( "=" );
- if( split > 0 )
- _metadata->insert( (*it).left( split ), (*it).right( (*it).length() - split - 1 ) );
- }
-
- _valid = true;
- emitValidChanged();
-
- return true;
-}
-
-bool KKioDrop::writeConfigGroup( TDEConfigBase& cfg ) const
-{
- KPollableDrop::writeConfigGroup( cfg );
- /*TQString p;
-
- if( _kurl->hasPass() ) {
- p = _kurl->pass();
- //encrypt ( p );
- }
-
- cfg.writeEntry(fu(ProtoConfigKey), _protocol->configName() );
- if( ( _protocol->fields() | _protocol->urlFields() ) & KIO_Protocol::server )
- cfg.writeEntry(fu(HostConfigKey), _kurl->host() );
- if( ( _protocol->fields() | _protocol->urlFields() ) & KIO_Protocol::port )
- cfg.writeEntry(fu(PortConfigKey), _kurl->port() );
- if( ( _protocol->fields() | _protocol->urlFields() ) & KIO_Protocol::username )
- cfg.writeEntry(fu(UserConfigKey), _kurl->user() );
- if( ( _protocol->fields() | _protocol->urlFields() ) & KIO_Protocol::mailbox )
- cfg.writeEntry(fu(MailboxConfigKey), _kurl->path() );
- if( ( _protocol->fields() | _protocol->urlFields() ) & KIO_Protocol::password )
- cfg.writeEntry(fu(PassConfigKey), p );
- if( ( _protocol->fields() | _protocol->urlFields() ) & KIO_Protocol::auth )
- cfg.writeEntry(fu(AuthConfigKey), auth() );
- */
- return true;
-}
-
-KKioDrop& KKioDrop::operator = ( const KKioDrop& other )
-{
- *_kurl=*other._kurl;
- setFreq( other.freq() );
-
- if( other._protocol )
- _protocol = other._protocol->getKIOProtocol();
- _ssl = other._ssl;
-
- return *this;
-}
-
-//Public slots
-void KKioDrop::readSubjectsCanceled()
-{
- _subjects->cancelled();
-}
-
-void KKioDrop::readMailCanceled()
-{
- _read->canceled( );
-}
-
-void KKioDrop::deleteMailsCanceled()
-{
- _delete->canceled( );
-}
-
-//Private slots for displaying connection errors
-void KKioDrop::slotConnectionError( int number, const TQString& arg )
-{
- kdError() << TDEIO::buildErrorString( number, arg ) << endl;
-// if( passivePopup() )
- emitShowPassivePopup( TDEIO::buildErrorString( number, arg ) );
-}
-
-void KKioDrop::slotConnectionWarning( const TQString& msg )
-{
- kdWarning() << msg << endl;
-}
-
-void KKioDrop::slotConnectionInfoMessage( const TQString& msg )
-{
- kdDebug() << msg << endl; //Display only in debug modes
-}
-
-//Private slots
-
-//The next functions are needed for process maildrops.
-bool KKioDrop::startProcess()
-{ //code copyied from edrop.cpp
-
- if( _protocol->configName() != "process" )
- return true;
-
- if( _process != 0 ) {
- return false;
- }
-
- // debug( "proc start: %s", _command.data() );
-
- _process = new TDEProcess;
- _process->setUseShell( true );
-
- // only reading stdin yet
-
- connect( _process,TQT_SIGNAL(receivedStdout( TDEProcess *, char *, int)),
- this, TQT_SLOT(receivedStdout( TDEProcess *,char *,int)) );
- connect( _process, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(processExit(TDEProcess*)) );
- *_process << _kurl->path();
- _process->start( TDEProcess::NotifyOnExit, TDEProcess::Stdout );
-
- return true;
-}
-
-bool KKioDrop::stopProcess()
-{ //code copied from edrop.cpp
- if( _protocol->configName() != "process" )
- return true;
-
- if( _process != 0 ) {
- // debug( "proc stop" );
- _process->kill( SIGHUP );
- delete _process;
- _process = 0;
- }
-
- return true;
-}
-
-void KKioDrop::receivedStdout( TDEProcess *proc, char * buffer, int /*len*/ )
-{
- assert(static_cast<void *>(proc) == static_cast<void *>(_process));
-
- //Original code
- /*char *buf = new char[ len + 1 ];
- memcpy( buf, buffer, len );
- buf[ len ] = '\0';
-
- char *ptr = buf, *start = buf;
- int num = 0;
-
- while( *ptr ) {
- // find number
- while( *ptr && !isdigit( *ptr ) ) {
- ptr++;
- }
- start = ptr;
- if( *ptr == 0 ) {
- break;
- }
-
- // find end
- while( *ptr && isdigit( *ptr ) ) {
- ptr++;
- }
-
- // atoi number
- char back = *ptr;
- *ptr = 0;
- num = atoi( start );
- *ptr = back;
- }
-
- emit changed( num );
- delete [] buf;*/
-
- //Alternatieve code
- TQString buf = buffer;
- TQRegExp regexp( "^(.*\\D+|\\D*)(\\d+)\\D*$" );
-
- if( regexp.search( buf ) == 0 )
- { //Number found
- emit changed( regexp.cap( 2 ).toInt(), this );
- }
-
-
-}
-
-void KKioDrop::processExit(TDEProcess* proc)
-{
- assert(static_cast<void *>(proc) == static_cast<void *>(_process));
-
- _process = 0;
-
-// debug( "proc exited" );
-}
-
-const char *KKioDrop::ProtoConfigKey = "protocol";
-const char *KKioDrop::HostConfigKey = "server";
-const char *KKioDrop::PortConfigKey = "port";
-const char *KKioDrop::UserConfigKey = "username";
-const char *KKioDrop::PassConfigKey = "password";
-const char *KKioDrop::MailboxConfigKey = "mailbox";
-const char *KKioDrop::SavePassConfigKey = "savepass";
-const char *KKioDrop::MetadataConfigKey = "metadata";
-
-#include "kio.moc"