NCBI C++ ToolKit
|
Search Toolkit Book for CAppTask
CAppTask - default implementation of IAppTask, use it as a base class for custom tasks. More...
#include <gui/framework/app_task_impl.hpp>
Public Member Functions | |
CAppTask (const string &descr=kEmptyStr, bool visible=true, int display_delay=0) | |
CAppTask. More... | |
IAppTask interface implementation | |
virtual ETaskState | Run () |
execute the task, this function is called on the main UI thread if a task needs to execute in background it should launch a job that will execute asynchronously; then the function shall return eBackgrounded More... | |
virtual ETaskState | GetState () |
returns the current task state More... | |
virtual void | CancelBackgrounded () |
make a request to cancel backgrounded task (not called for foreground tasks) More... | |
virtual void | OnCancel () |
this will be called on pending tasks that will be removed from the queue and won't get a chance to run the purpose is to implement any cleanup procedures for the canceled task More... | |
virtual bool | IsVisible () |
returns true if the task should be visible in UI visible task shall represent operations understood by users and usually correspond to menu commands. More... | |
int | GetStatusDisplayDelay () |
returns delay in seconds used for certain fast (and not very important tasks) to only show its status when it is running/pending for long enough More... | |
virtual string | GetDescr () const |
returns a human-readable description of the Task (optional) More... | |
virtual string | GetStatusText () const |
returns human-readable text describing the current task state More... | |
virtual void | SetListener (CEventHandler *handler) |
set a Listener; this allows a taks running in background to notify the Listener (usually Task Manager) about changes in Status More... | |
virtual IEventLogAction * | CreateEventLogAction () |
returns an action for activating task results (optional, can return NULL) More... | |
Public Member Functions inherited from CObjectEx | |
CObjectEx (void) | |
virtual | ~CObjectEx (void) |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
Public Member Functions inherited from CDebugDumpable | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Public Member Functions inherited from CWeakObject | |
CWeakObject (void) | |
virtual | ~CWeakObject (void) |
CPtrToObjectProxy * | GetPtrProxy (void) const |
Get pointer to proxy object containing pointer to this object. More... | |
Public Member Functions inherited from IAppTask | |
virtual | ~IAppTask () |
Static Public Member Functions | |
static string | StateToString (ETaskState state) |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Protected Member Functions | |
virtual ETaskState | x_Run () |
override this function in derived classes More... | |
virtual bool | x_IsFiniteState () |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Member Functions inherited from CWeakObject | |
void | CleanWeakRefs (void) const |
Method cleaning all CWeakRefs referencing at this moment to the object After calling to this method all existing CWeakRefs referencing to the object will return NULL, so it effectively will be equal to deleting the object. More... | |
Protected Attributes | |
CEventHandler * | m_Listener |
ETaskState | m_State |
const bool | m_Visible |
indicates whether the task is visible More... | |
string | m_Descr |
task description More... | |
int | m_DisplayDelay |
tasks display delay More... | |
Additional Inherited Members | |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Types inherited from IAppTask | |
enum | ETaskState { eInvalid = -1 , eInitial , eRunning , eBackgrounded , eCompleted , eFailed , eCanceled , eLastState } |
List of task states defining the task management FSM. More... | |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
CAppTask - default implementation of IAppTask, use it as a base class for custom tasks.
Definition at line 51 of file app_task_impl.hpp.
Definition at line 54 of file app_task_impl.cpp.
|
virtual |
make a request to cancel backgrounded task (not called for foreground tasks)
Implements IAppTask.
Reimplemented in CJobUITask, CCompositeAppTask, CAppJobTask, and CProjectLoadingTask.
Definition at line 108 of file app_task_impl.cpp.
|
virtual |
returns an action for activating task results (optional, can return NULL)
Implements IAppTask.
Definition at line 148 of file app_task_impl.cpp.
References NULL.
|
virtual |
returns a human-readable description of the Task (optional)
Implements IAppTask.
Definition at line 128 of file app_task_impl.cpp.
References m_Descr.
Referenced by CAppJobTask::x_ReportError().
|
virtual |
returns the current task state
Implements IAppTask.
Definition at line 102 of file app_task_impl.cpp.
References m_State.
|
virtual |
returns delay in seconds used for certain fast (and not very important tasks) to only show its status when it is running/pending for long enough
Implements IAppTask.
Definition at line 123 of file app_task_impl.cpp.
References m_DisplayDelay.
|
virtual |
returns human-readable text describing the current task state
Implements IAppTask.
Reimplemented in CBlastSearchTask, CJobUITask, and CAppJobTask.
Definition at line 134 of file app_task_impl.cpp.
References m_State, and StateToString().
|
virtual |
returns true if the task should be visible in UI visible task shall represent operations understood by users and usually correspond to menu commands.
Implements IAppTask.
Definition at line 118 of file app_task_impl.cpp.
References m_Visible.
|
virtual |
this will be called on pending tasks that will be removed from the queue and won't get a chance to run the purpose is to implement any cleanup procedures for the canceled task
Implements IAppTask.
Definition at line 113 of file app_task_impl.cpp.
|
virtual |
execute the task, this function is called on the main UI thread if a task needs to execute in background it should launch a job that will execute asynchronously; then the function shall return eBackgrounded
Implements IAppTask.
Reimplemented in CEditAppTask, CJobUITask, CCompositeAppTask, CAppJobTask, CProjectLoadingTask, CObjectLoadingTask, and CDataLoadingAppTask.
Definition at line 68 of file app_task_impl.cpp.
References _ASSERT, IAppTask::eFailed, IAppTask::eInitial, IAppTask::eRunning, kChildFailed, m_State, TASK_CATCH_AND_REPORT, and x_Run().
|
virtual |
set a Listener; this allows a taks running in background to notify the Listener (usually Task Manager) about changes in Status
Implements IAppTask.
Definition at line 142 of file app_task_impl.cpp.
References m_Listener.
|
static |
Definition at line 154 of file app_task_impl.cpp.
References IAppTask::eBackgrounded, IAppTask::eCanceled, IAppTask::eCompleted, IAppTask::eFailed, IAppTask::eInitial, and IAppTask::eInvalid.
Referenced by GetStatusText(), and CTaskViewModel::GetValueAt().
|
protectedvirtual |
Definition at line 96 of file app_task_impl.cpp.
References IAppTask::eCanceled, IAppTask::eCompleted, IAppTask::eFailed, and m_State.
|
protectedvirtual |
override this function in derived classes
Reimplemented in CRaiseWindowTask, CDoOnIdleTask, COpenDiscrepancyTask, CCreateGeneModelTask, CProjectTask, CProjectServiceTestTask, and COpenViewTask.
Definition at line 89 of file app_task_impl.cpp.
References _ASSERT, and IAppTask::eCompleted.
Referenced by Run().
|
protected |
task description
Definition at line 85 of file app_task_impl.hpp.
Referenced by CAppJobTask::CAppJobTask(), CEditAppTask::CEditAppTask(), GetDescr(), CBlastSearchTask::Init_Monitoring(), CBlastSearchTask::Init_RetrieveRID(), CBlastSearchTask::Init_SubmitSearch(), CBlastSearchTask::x_InitMonitoringStage(), and CProjectLoadingTask::x_StartJob().
|
protected |
tasks display delay
Definition at line 86 of file app_task_impl.hpp.
Referenced by GetStatusDisplayDelay().
|
protected |
Definition at line 81 of file app_task_impl.hpp.
Referenced by CProjectLoadingTask::CancelBackgrounded(), CAppJobTask::CancelBackgrounded(), CCompositeAppTask::CancelBackgrounded(), CProjectLoadingTask::OnAppJobNotification(), CAppJobTask::OnAppJobProgress(), CCompositeAppTask::OnTaskEvent(), CJobUITask::OnTimer(), CJobUITask::Run(), SetListener(), and CAppJobTask::x_Finish().
|
protected |
Definition at line 83 of file app_task_impl.hpp.
Referenced by CProjectLoadingTask::CancelBackgrounded(), CAppJobTask::CancelBackgrounded(), CCompositeAppTask::CancelBackgrounded(), GetState(), GetStatusText(), CJobUITask::GetStatusText(), CCompositeAppTask::OnTaskEvent(), CObjectLoadingTask::Run(), CProjectLoadingTask::Run(), CAppJobTask::Run(), Run(), CCompositeAppTask::Run(), CJobUITask::Run(), and x_IsFiniteState().
indicates whether the task is visible
Definition at line 84 of file app_task_impl.hpp.
Referenced by IsVisible().