NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
gl2d_thread_interface.h
1 #ifndef SDK_GL2D_THREAD_INTERFACE_H_
11 #define SDK_GL2D_THREAD_INTERFACE_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
16 #include <base/inc/sdk_component_base.h>
18 #include <visualizationlayer/inc/vis_const.h>
19 
20 SDK_GL2D_BEGIN_NAMESPACE
21 
24 
27 enum GL2DTaskPropertyIDs
28 {
29 };
30 
33 enum GL2DThreadPropertyIDs
34 {
35 };
36 
39 class IGL2DTask : public ISDKProperties
40 {
41 public:
45  virtual void SDK_CALLTYPE PerformTask() throw() = 0;
46 
54  virtual bool SDK_CALLTYPE SupportsSpawnByTask() const throw() = 0;
55 
56  SDK_IMPLEMENT_IID(IGL2DTask)
57  SDK_END_INTERFACE(IGL2DTask)
58 };
59 SDK_DECLARE_IID(IGL2DTask)
60 
61 class IGL2DThread : public ISDKProperties
94 {
95 public:
102  virtual bool SDK_CALLTYPE AddTask(const IGL2DTaskSP& task) throw() = 0;
103 
107  virtual void SDK_CALLTYPE OnDrawingCycleFinished() throw() = 0;
108 
112  virtual void SDK_CALLTYPE WaitAllTasksFinished() throw() = 0;
113 
114  SDK_IMPLEMENT_IID(IGL2DThread)
115  SDK_END_INTERFACE(IGL2DThread)
116 };
117 SDK_DECLARE_IID(IGL2DThread)
118 
119 SDK_GL2D_END_NAMESPACE
120 
121 #endif // SDK_GL2D_THREAD_INTERFACE_H_
base_types.h
SDK base types.
IGL2DThread
Generic GL2D thread to perform OpenGL calls (GL2D tasks) DO NOT call ANY of GL2D object methods from ...
Definition: gl2d_thread_interface.h:93
IGL2DTask::SupportsSpawnByTask
virtual bool SDK_CALLTYPE SupportsSpawnByTask() const =0
Task can be spawned by other task In general running GL2D tasks can't spawn any of other GL2D tasks,...
properties_interface.h
Object generic properties interface.
IGL2DThread::AddTask
virtual bool SDK_CALLTYPE AddTask(const IGL2DTaskSP &task)=0
Adds new task to perform in given thread Thread should call for IGL2DTask::PerformTask of given task ...
IGL2DThread::OnDrawingCycleFinished
virtual void SDK_CALLTYPE OnDrawingCycleFinished()=0
Notifies given thread that current drawing cycle is finished. Called by IGL2DCanvas::FinishDraw metho...
IGL2DTask
Generic GL2D task.
Definition: gl2d_thread_interface.h:39
platform.h
Describes the platform constants.
IGL2DTask::PerformTask
virtual void SDK_CALLTYPE PerformTask()=0
Performs given task by appropriate GL2D/External OpenGL thread THIS CALL SHOULD BE PERFORMED ONLY BY ...
IGL2DThread::WaitAllTasksFinished
virtual void SDK_CALLTYPE WaitAllTasksFinished()=0
Waits till all of tasks, added to given thread so far will not be finished THIS CALL CAN BE PERFORMED...
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.