NCBI C++ ToolKit
text_retrieve_job.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS_SEQ___TEXT_RETRIEVE_JOB__HPP
2 #define GUI_WIDGETS_SEQ___TEXT_RETRIEVE_JOB__HPP
3 
4 /* $Id: text_retrieve_job.hpp 45988 2021-01-20 18:23:42Z grichenk $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Authors: Roman Katargin
30 *
31 * File Description:
32 *
33 */
34 
35 #include <corelib/ncbiobj.hpp>
36 #include <gui/gui_export.h>
37 
39 
41 
43 
45 
46 class CCompositeTextItem;
47 
49 {
50 public:
53 
54  /// @name IAppJob implementation
55  /// @{
56  virtual EJobState Run();
58  virtual CRef<CObject> GetResult();
60  /// @}
61 
62 protected:
63  virtual string x_GetJobName() const = 0;
64  virtual EJobState x_Run() = 0;
65 
66  void x_CheckCancelled() const;
67 
68  void x_AddItem(ITextItem* item);
69  void x_AddItems(vector<ITextItem*>& items);
70  void x_CreateResult();
71 
72  // for job results/status
75 
77  shared_ptr<CRootTextItem> m_RootItem;
78  shared_ptr<CTextPanelContext> m_Context;
79 
81 
82 private:
84  {
85  };
86 };
87 
89 
90 #endif // GUI_WIDGETS_SEQ___TEXT_RETRIEVE_JOB__HPP
CFastMutex –.
Definition: ncbimtx.hpp:667
Base class to build jobs with cancel functionality.
CRef< CTextViewRetrieveResult > m_Result
virtual string x_GetJobName() const =0
CTextRetrieveJob(CTextPanelContext &context)
shared_ptr< CTextPanelContext > m_Context
CRef< CAppJobError > m_Error
shared_ptr< CRootTextItem > m_RootItem
virtual EJobState x_Run()=0
virtual CConstIRef< IAppJobProgress > GetProgress()=0
return progress object, the function shall be synchronized internally.
virtual CConstIRef< IAppJobError > GetError()=0
Returns IAppJobError object describing internal error that caused the Job to fail.
virtual CRef< CObject > GetResult()=0
Returns the Job Result.
EJobState
Job states (describe FSM)
Definition: app_job.hpp:86
virtual EJobState Run()=0
Function that does all the useful work, called by the Engine.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_GUIWIDGETS_SEQ_EXPORT
Definition: gui_export.h:539
Defines to provide correct exporting from DLLs in Windows.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
static CS_CONTEXT * context
Definition: will_convert.c:21
Modified on Sun Apr 14 05:26:17 2024 by modify_doxy.py rev. 669887