kservicegroup.h Source File (kio Library)

| # kio Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# kservicegroup.h

    00001 /* This file is part of the KDE project
    00002    Copyright (C) 2000 Waldo Bastian <bastian@kde.org>
    00003
    00004    This library is free software; you can redistribute it and/or
    00005    modify it under the terms of the GNU Library General Public
    00006    License version 2 as published by the Free Software Foundation.
    00007
    00008    This library is distributed in the hope that it will be useful,
    00009    but WITHOUT ANY WARRANTY; without even the implied warranty of
    00010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00011    Library General Public License for more details.
    00012
    00013    You should have received a copy of the GNU Library General Public License
    00014    along with this library; see the file COPYING.LIB.  If not, write to
    00015    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00016    Boston, MA 02111-1307, USA.
    00017 */
    00018
    00019 #ifndef __kservicegroup_h__
    00020 #define __kservicegroup_h__
    00021
    00022 #include <qptrlist.h>
    00023 #include <qstring.h>
    00024 #include <qshared.h>
    00025 #include <qdatastream.h>
    00026 #include <qvariant.h>
    00027
    00028 #include <kdesktopfile.h>
    00029
    00030 #include "ksycocaentry.h"
    00031 #include "ksycocatype.h"
    00032 #include "kservice.h"
    00033
    00034 class KBuildServiceGroupFactory;
    00035
    00063 class KServiceGroup : public KSycocaEntry
    00064 {
    00065   friend class KBuildServiceGroupFactory;
    00066   K_SYCOCATYPE( KST_KServiceGroup, KSycocaEntry )
    00067
    00068 public:
    00069   typedef KSharedPtr<KServiceGroup> Ptr;
    00070   typedef KSharedPtr<KSycocaEntry> SPtr;
    00071   typedef QValueList<SPtr> List;
    00072 public:
    00077   KServiceGroup( const QString & name );
    00078
    00084   KServiceGroup( const QString & _fullpath, const QString & _relpath );
    00085
    00090   KServiceGroup( QDataStream& _str, int offset, bool deep );
    00091
    00092   virtual ~KServiceGroup();
    00093
    00097   bool isValid() const { return true; }
    00098
    00102   virtual QString name() const { return entryPath(); }
    00103   virtual QString relPath() const { return entryPath(); }
    00104
    00108   QString caption() const { return m_strCaption; }
    00109
    00113   QString icon() const { return m_strIcon; }
    00114
    00118   QString comment() const { return m_strComment; }
    00119
    00124   int childCount();
    00125
    00131   bool noDisplay() const;
    00132
    00137   virtual void load( QDataStream& );
    00142   virtual void save( QDataStream& );
    00143
    00150   virtual List entries(bool sorted, bool excludeNoDisplay);
    00154   virtual List entries(bool sorted = false);
    00155
    00165   QString baseGroupName() const { return m_strBaseGroupName; }
    00166
    00171   static Ptr baseGroup( const QString &baseGroupName );
    00172
    00173   static Ptr root();
    00174   static Ptr group(const QString &relPath);
    00175
    00181   static Ptr childGroup(const QString &parent);
    00182
    00183 protected:
    00188   void addEntry( KSycocaEntry *entry);
    00189
    00190   QString m_strCaption;
    00191   QString m_strIcon;
    00192   QString m_strComment;
    00193
    00194   List m_serviceList;
    00195   bool m_bDeep;
    00196   QString m_strBaseGroupName;
    00197   int m_childCount;
    00198 protected:
    00199   virtual void virtual_hook( int id, void* data );
    00200 private:
    00201   class Private;
    00202   Private* d;
    00203 };
    00204 #endif

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:14:18 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001