Free Electron
WorkI.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __thread_WorkI_h__
8 #define __thread_WorkI_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Execute a Range
17 
18  @ingroup thread
19 *//***************************************************************************/
20 class FE_DL_EXPORT WorkI:
21  virtual public Component,
22  public CastableAs<WorkI>
23 {
24  public:
25 
26  enum Threading
27  {
28  e_unknown,
29  e_singleThread,
30  e_multiThread
31  };
32 
33  //* NOTE used by OperatorThreaded for SurfaceAccessibleI
34 virtual Threading threading(void) =0;
35 virtual void setThreading(Threading a_threading) =0;
36 
37 virtual void run(I32 a_id,sp<SpannedRange> a_spSpannedRange) =0;
38 virtual void run(I32 a_id,sp<SpannedRange> a_spSpannedRange,
39  String a_stage) =0;
40 };
41 
42 } /* namespace ext */
43 } /* namespace fe */
44 
45 #endif // __thread_WorkI_h__
46 
kernel
Definition: namespace.dox:3
Automatically reference-counted string container.
Definition: String.h:128
Base for all interfacable components.
Definition: Component.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Execute a Range.
Definition: WorkI.h:20
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192