diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2023-04-28 22:39:50 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2023-04-28 22:39:50 +0900 |
commit | fdd2249496404cafd72fa862c49d6920fd8d7927 (patch) | |
tree | 47e86c702ba7d2ee73d827604fe79151290d00b2 /kmrml/kmrml/mrml.cpp | |
parent | a9f6e5c5b26c07d5e96cd5e84e1dd95c973cd3ab (diff) | |
download | tdegraphics-fdd2249496404cafd72fa862c49d6920fd8d7927.tar.gz tdegraphics-fdd2249496404cafd72fa862c49d6920fd8d7927.zip |
Drop deprecated kmrml code
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'kmrml/kmrml/mrml.cpp')
-rw-r--r-- | kmrml/kmrml/mrml.cpp | 267 |
1 files changed, 0 insertions, 267 deletions
diff --git a/kmrml/kmrml/mrml.cpp b/kmrml/kmrml/mrml.cpp deleted file mode 100644 index 8c49f009..00000000 --- a/kmrml/kmrml/mrml.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2001,2002 Carsten Pfeiffer <pfeiffer@kde.org> - - 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, version 2. - - 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; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "config.h" - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#include <tdeconfig.h> -#include <kdebug.h> -#include <tdeglobal.h> -#include <kinstance.h> -#include <tdelocale.h> - -#include <mrml_utils.h> - -#include "mrml.h" - -extern "C" { - KDE_EXPORT int kdemain( int argc, char **argv ) - { - TDELocale::setMainCatalogue("tdelibs"); - TDEInstance instance( "tdeio_mrml" ); - TDEGlobal::locale()->insertCatalogue( "kmrml" ); - - kdDebug() << "Starting MRML " << getpid() << endl; - - if (argc != 4) - { - fprintf(stderr, "Usage: tdeio_mrml protocol domain-socket1 domain-socket2\n"); - exit(-1); - } - - Mrml slave(argv[2], argv[3]); - slave.dispatchLoop(); - - kdDebug() << "Done" << endl; - return 0; - } -} - -const int Mrml::bufsize = 8192; - -Mrml::Mrml( const TQCString& pool_socket, const TQCString& app_socket ) - : TCPSlaveBase( 12789, "mrml", pool_socket, app_socket ), - m_config( TDEGlobal::config() ) -{ - MrmlShared::ref(); -} - -Mrml::~Mrml() -{ - KMrml::Util::self()->unrequireLocalServer(); - - closeDescriptor(); - MrmlShared::deref(); -} - -bool Mrml::checkLocalServer( const KURL& url ) -{ - if ( KMrml::Util::self()->requiresLocalServerFor( url ) ) - { - if ( !KMrml::Util::self()->startLocalServer( m_config ) ) - return false; - } - - return true; -} - -void Mrml::get( const KURL& url ) -{ -// tqDebug("******* getting: %s (user: %s)", url.url().latin1(), url.user().latin1()); - - if ( !checkLocalServer( url ) ) - { - error( TDEIO::ERR_SLAVE_DEFINED, i18n("Unable to start the Indexing Server. " - "Aborting the query.") ); - return; - } - - int retriesLeft = 5; -tryConnect: - - TQCString utf8; - bool sendError = (retriesLeft <= 0); - - if ( connectToHost( url.host(), port(url), sendError ) ) - { -// tqDebug(" connected!"); - - TQString task = metaData( MrmlShared::tdeio_task() ); - - if ( task == MrmlShared::tdeio_initialize() ) { - startSession( url ); - } - - else if ( task == MrmlShared::tdeio_startQuery() ) { - TQString meta = metaData( MrmlShared::mrml_data() ); - if ( meta.isEmpty() ) { - closeDescriptor(); - error( TDEIO::ERR_SLAVE_DEFINED, i18n("No MRML data is available.") ); - return; - } - - utf8 = meta.utf8(); - write( utf8, utf8.length() ); - - emitData( readAll() ); - } - - // no task metadata available, we're called from KonqRun or something - // like that. Emitting the mimetype seems to suffice for now. After - // that, MrmlPart is going to start and start the get() again. - else - { - mimeType( "text/mrml" ); - finished(); - } - - } - else - { - if ( retriesLeft-- >= 0 ) - { -#ifdef HAVE_USLEEP - usleep( 500 ); // wait a while for gift to start up -#endif - goto tryConnect; - return; - } - - error( TDEIO::ERR_COULD_NOT_CONNECT, - i18n("Could not connect to GIFT server.") ); - return; - } - - closeDescriptor(); - //data( TQByteArray() ); // send an empty TQByteArray to signal end of data. - finished(); -} - -// make sure we're connected when you call this! -TQCString Mrml::readAll() -{ - TQCString data; - - char buf[bufsize]; - ssize_t bytes = 0; - - while ( (bytes = read( buf, bufsize-1 )) > 0 ) { - buf[bytes] = '\0'; - data.append( buf ); - } - -// tqDebug("*** readAll()::: %i, %s", data.length(), data.data()); - return data; -} - -TQCString Mrml::loginString() -{ - return "<mrml><get-server-properties/></mrml>"; -} - -TQCString Mrml::getConfigurationString() -{ - return "<mrml><get-configuration/></mrml>"; -} - -// ### needed? -TQCString Mrml::getSessionsString( const TQString& username, - const TQString& password ) -{ - TQCString data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><mrml><get-sessions "; - if ( !username.isEmpty() ) { // ### pop up auth-dialog??? - data.append( "user-name=\""); - data.append( username.utf8() ); - data.append( "\""); - - if ( !password.isEmpty() ) { - data.append( " password=\""); - data.append( password.utf8() ); - data.append( "\"" ); - } - - } - data.append( "/></mrml>" ); - - return data; -} - - -bool Mrml::startSession( const KURL& url ) -{ - // might first ask for collections, and then for algorithms for the - // desired collection-id - - // Wolfgang says, we shouldn't create an own session-id here, as gcc 2.95 - // apparently makes problems in exception handling somehow. So we simply - // accept the server's session-id. - TQString msg = mrmlString( TQString() ).arg( - "<open-session user-name=\"%1\" session-name=\"tdeio_mrml session\" /> \ - <get-algorithms /> \ - <get-collections /> \ - </mrml>" ).arg( user( url )); - - TQCString utf8 = msg.utf8(); -// tqDebug(":::Writing: %s", utf8.data()); - write( utf8, utf8.length() ); - - emitData( readAll() ); - - return true; -} - -TQString Mrml::mrmlString( const TQString& sessionId, const TQString& transactionId ) -{ - TQString msg = - "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?> \ - <!DOCTYPE mrml SYSTEM \"http://isrpc85.epfl.ch/Charmer/code/mrml.dtd\"> \ - %1 \ - </mrml>"; - - if ( sessionId.isEmpty() ) // when we don't have one yet - return msg.arg( "<mrml>%1" ); - - if ( transactionId.isNull() ) - return msg.arg( "<mrml session-id=\"%1\">%1" ).arg( sessionId ); - else - return msg.arg( "<mrml session-id=\"%1\" transaction-id=\"%1\">%1") - .arg( sessionId ).arg( transactionId ); -} - -void Mrml::emitData( const TQCString& msg ) -{ - mimeType( "text/mrml" ); - data( msg ); - processedSize( msg.count() ); -} - -void Mrml::mimetype( const KURL& url ) -{ - if ( url.protocol() == "mrml" ) { - mimeType( "text/mrml" ); - finished(); - } - else - TDEIO::TCPSlaveBase::mimetype( url ); -} |