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

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS___LOADERS___RM_OBJECT_LOADER__HPP
2 #define GUI_WIDGETS___LOADERS___RM_OBJECT_LOADER__HPP
3 
4 /* $Id: rm_object_loader.hpp 34197 2015-11-24 20:35:39Z asztalos $
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/ncbistd.hpp>
36 #include <gui/gui_export.h>
37 
38 #include <wx/string.h>
39 
43 
44 #include <objmgr/scope.hpp>
45 
47 
48 class CObjectInfo;
49 
50 /** @addtogroup GUI_CORE
51  *
52  * @{
53  */
54 
56  public CObject,
57  private CReportLoaderErrors,
58  public IObjectLoader,
59  public IExecuteUnit
60 {
61 friend class CSniffReader;
62 
63 public:
64  CRMObjectLoader(const vector<wxString>& filenames);
65 
66  /// @name IObjectLoader implementation
67  /// @{
68  virtual TObjects& GetObjects();
69  virtual string GetDescription() const;
70  /// @}
71 
72  /// @name IExecuteUnit implementation
73  /// @{
74  virtual bool PreExecute();
75  virtual bool Execute(ICanceled& canceled);
76  virtual bool PostExecute();
77  /// @}
78 
79 private:
81 
82  bool x_OnTopObjectFound(const CObjectInfo& objInfo);
83 
84  vector<wxString> m_FileNames;
85  const string m_AsnTextData;
88 
90 };
91 
92 /* @} */
93 
95 
96 
97 #endif // GUI_WIDGETS___LOADERS___RM_OBJECT_LOADER__HPP
CObjectInfo –.
Definition: objectinfo.hpp:597
CObject –.
Definition: ncbiobj.hpp:180
CReportLoaderErrors.
Class CSniffReader reads NCBI object files in number of different formats.
Definition: fileloader.cpp:303
Interface for testing cancellation request in a long lasting operation.
Definition: icanceled.hpp:51
virtual bool PreExecute()=0
virtual bool PostExecute()=0
vector< SObject > TObjects
virtual string GetDescription() const =0
Include a standard set of the NCBI C++ Toolkit most basic headers.
vector< CConstRef< CObject > > GetObjects(CSeq_entry_Handle seh, const string &field, CFieldNamePanel::EFieldType field_type, int subtype, const string &ncRNA_class, CConstRef< objects::CSeq_submit > submit, CRef< CEditingActionConstraint > constraint, vector< CSeq_entry_Handle > *descr_context=nullptr)
const string m_AsnTextData
vector< wxString > m_FileNames
wxString m_CurrentFileName
bool x_OnTopObjectFound(const CObjectInfo &objInfo)
CRef< objects::CScope > m_Scope
void x_ReadAsnObject(ESerialDataFormat sfmt, CNcbiIstream &istream)
ESerialDataFormat
Data file format.
Definition: serialdef.hpp:71
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
Definition: ncbistre.hpp:146
#define NCBI_GUIWIDGETS_LOADERS_EXPORT
Definition: gui_export.h:525
Defines to provide correct exporting from DLLs in Windows.
string Execute(const string &cmmd, const vector< string > &args, const string &data=kEmptyStr)
static int filenames
Definition: pcregrep.c:172
Modified on Sat May 18 11:36:58 2024 by modify_doxy.py rev. 669887