• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

ThreadWeaver

State.cpp

Go to the documentation of this file.
00001 /* -*- C++ -*-
00002 
00003 This file implements the state handling in ThreadWeaver.
00004 
00005 $ Author: Mirko Boehm $
00006 $ Copyright: (C) 2005, 2006 Mirko Boehm $
00007 $ Contact: mirko@kde.org
00008 http://www.kde.org
00009 http://www.hackerbuero.org $
00010 
00011    This library is free software; you can redistribute it and/or
00012    modify it under the terms of the GNU Library General Public
00013    License as published by the Free Software Foundation; either
00014    version 2 of the License, or (at your option) any later version.
00015 
00016    This library is distributed in the hope that it will be useful,
00017    but WITHOUT ANY WARRANTY; without even the implied warranty of
00018    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019    Library General Public License for more details.
00020 
00021    You should have received a copy of the GNU Library General Public License
00022    along with this library; see the file COPYING.LIB.  If not, write to
00023    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00024    Boston, MA 02110-1301, USA.
00025 
00026 $Id: State.cpp 20 2005-08-08 21:02:51Z mirko $
00027 */
00028 
00029 #include "State.h"
00030 
00031 #include <QtCore/QString>
00032 
00033 using namespace ThreadWeaver;
00034 
00035 const QString StateNames[NoOfStates] = {
00036     "InConstruction",
00037     "WorkingHard",
00038     "Suspending",
00039     "Suspended",
00040     "ShuttingDown",
00041     "Destructed"
00042 };
00043 
00044 class State::Private
00045 {
00046 public:
00047     Private ( WeaverInterface* theWeaver )
00048         : weaver( theWeaver )
00049     {
00050         Q_ASSERT_X( sizeof StateNames / sizeof StateNames[0] == NoOfStates, "State::Private ctor",
00051                     "Make sure to keep StateId and StateNames in sync!" );
00052     }
00053 
00055     WeaverInterface *weaver;
00056 };
00057 
00058 
00059 State::State ( WeaverInterface *weaver )
00060     : d  ( new Private ( weaver ) )
00061 {
00062 }
00063 
00064 State::~State()
00065 {
00066     delete d;
00067 }
00068 
00069 QString State::stateName () const
00070 {
00071     return StateNames[ stateId() ];
00072 }
00073 
00074 void State::activated()
00075 {
00076 }
00077 
00078 WeaverInterface* State::weaver()
00079 {
00080     return d->weaver;
00081 }

ThreadWeaver

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
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