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

ThreadWeaver

ThreadWeaver::State

ThreadWeaver::State Class Reference

#include <State.h>

Inheritance diagram for ThreadWeaver::State:

Inheritance graph
[legend]

List of all members.


Detailed Description

We use a State pattern to handle the system state in ThreadWeaver.

Definition at line 73 of file State.h.


Public Member Functions

virtual void activated ()
virtual Job * applyForWork (Thread *th, Job *previous)=0
virtual void resume ()=0
 State (WeaverInterface *weaver)
virtual StateId stateId () const =0
QString stateName () const
virtual void suspend ()=0
virtual void waitForAvailableJob (Thread *th)=0
virtual ~State ()

Protected Member Functions

WeaverInterface * weaver ()

Protected Attributes

Private *const d

Constructor & Destructor Documentation

State::State ( WeaverInterface *  weaver  )  [explicit]

Default constructor.

Definition at line 59 of file State.cpp.

State::~State (  )  [virtual]

Destructor.

Definition at line 64 of file State.cpp.


Member Function Documentation

void State::activated (  )  [virtual]

The state has been changed so that this object is responsible for state handling.

Reimplemented in ThreadWeaver::SuspendingState, and ThreadWeaver::WorkingHardState.

Definition at line 74 of file State.cpp.

virtual Job* ThreadWeaver::State::applyForWork ( Thread *  th,
Job *  previous 
) [pure virtual]

Assign a job to an idle thread.

Parameters:
th the thread to give a new Job to
previous the job this thread finished before calling

Implemented in ThreadWeaver::DestructedState, ThreadWeaver::InConstructionState, ThreadWeaver::ShuttingDownState, ThreadWeaver::SuspendedState, ThreadWeaver::SuspendingState, and ThreadWeaver::WorkingHardState.

virtual void ThreadWeaver::State::resume (  )  [pure virtual]

Resume job processing.

Implemented in ThreadWeaver::DestructedState, ThreadWeaver::InConstructionState, ThreadWeaver::ShuttingDownState, ThreadWeaver::SuspendedState, ThreadWeaver::SuspendingState, and ThreadWeaver::WorkingHardState.

virtual StateId ThreadWeaver::State::stateId (  )  const [pure virtual]

The state Id.

Implemented in ThreadWeaver::DestructedState, ThreadWeaver::InConstructionState, ThreadWeaver::ShuttingDownState, ThreadWeaver::SuspendedState, ThreadWeaver::SuspendingState, and ThreadWeaver::WorkingHardState.

QString State::stateName (  )  const

The ID of the current state.

See also:
StateNames, StateID

Definition at line 69 of file State.cpp.

virtual void ThreadWeaver::State::suspend (  )  [pure virtual]

Suspend job processing.

Implemented in ThreadWeaver::DestructedState, ThreadWeaver::InConstructionState, ThreadWeaver::ShuttingDownState, ThreadWeaver::SuspendedState, ThreadWeaver::SuspendingState, and ThreadWeaver::WorkingHardState.

virtual void ThreadWeaver::State::waitForAvailableJob ( Thread *  th  )  [pure virtual]

Wait (by suspending the calling thread) until a job becomes available.

Implemented in ThreadWeaver::DestructedState, ThreadWeaver::InConstructionState, ThreadWeaver::ShuttingDownState, ThreadWeaver::SuspendedState, ThreadWeaver::SuspendingState, and ThreadWeaver::WorkingHardState.

WeaverInterface * State::weaver (  )  [protected]

The Weaver interface this state handles.

Reimplemented in ThreadWeaver::StateImplementation.

Definition at line 78 of file State.cpp.


Member Data Documentation

Private* const ThreadWeaver::State::d [protected]

Definition at line 107 of file State.h.


The documentation for this class was generated from the following files:
  • State.h
  • State.cpp

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
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
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