• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDE Support
  • Sitemap
  • Contact Us
 

soprano

servercore.h

Go to the documentation of this file.
00001 /* 
00002  * This file is part of Soprano Project.
00003  *
00004  * Copyright (C) 2007 Sebastian Trueg <trueg@kde.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Library General Public License
00017  * along with this library; see the file COPYING.LIB.  If not, write to
00018  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  */
00021 
00022 #ifndef _SOPRANO_SERVER_CORE_H_
00023 #define _SOPRANO_SERVER_CORE_H_
00024 
00025 #include <QtCore/QObject>
00026 
00027 #include "error.h"
00028 #include "soprano_export.h"
00029 
00030 namespace Soprano {
00031 
00032     class Backend;
00033     class Model;
00034     class BackendSetting;
00035 
00036     namespace Server {
00069         class SOPRANO_SERVER_EXPORT ServerCore : public QObject, public Error::ErrorCache
00070         {
00071             Q_OBJECT
00072 
00073         public:
00074             ServerCore( QObject* parent = 0 );
00075             virtual ~ServerCore();
00076 
00080             static const quint16 DEFAULT_PORT;
00081 
00085             void setBackend( const Backend* backend );
00086 
00090             const Backend* backend() const;
00091 
00099             void setBackendSettings( const QList<BackendSetting>& settings );
00100 
00106             QList<BackendSetting> backendSettings() const;
00107 
00116             virtual Model* model( const QString& name );
00117 
00131             virtual void removeModel( const QString& name );
00132 
00138             virtual QStringList allModels() const;
00139 
00151             bool start( const QString& socketPath = QString() );
00152 
00169             bool listen( quint16 port = DEFAULT_PORT );
00170 
00177             quint16 serverPort() const;
00178 
00190             void registerAsDBusObject( const QString& objectPath = QString() );
00191 
00192         private Q_SLOTS:
00193             void slotNewTcpConnection();
00194             void slotNewSocketConnection();
00195             void serverConnectionFinished();
00196 
00197         protected:
00209             // FIXME: 3.0: this method should be const
00210             virtual Model* createModel( const QList<BackendSetting>& settings );
00211 
00212         private:
00213             class Private;
00214             Private* const d;
00215 
00216             Q_PRIVATE_SLOT( d, void _s_localSocketError( QLocalSocket::LocalSocketError ) )
00217             Q_PRIVATE_SLOT( d, void _s_tcpSocketError( QAbstractSocket::SocketError ) )
00218         };
00219     }
00220 }
00221 
00222 #endif

soprano

Skip menu "soprano"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE Support

Skip menu "KDE Support"
  • akonadi
  • Decibel
  • grantlee
  • kdewin
  • phonon
  •     Backend
  • polkit-qt
  • qca
  • qimageblitz
  • soprano
  • strigi
  •     searchclient
  •     streamanalyzer
  •     streams
Generated for KDE Support by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal