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

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_DATA_LOADERS_BLASTDB___BDBLOADER_RMT__HPP
2 #define OBJTOOLS_DATA_LOADERS_BLASTDB___BDBLOADER_RMT__HPP
3 
4 /* $Id: bdbloader_rmt.hpp 46177 2010-06-17 14:11:57Z camacho $
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 * Author: Christiam Camacho
30 *
31 * ===========================================================================
32 */
33 
34 /** @file bdbloader_rmt.hpp
35  * Data loader implementation that uses the blast databases remotely
36  */
37 
38 #include <corelib/ncbistd.hpp>
39 #include <objmgr/data_loader.hpp>
41 
44 
46 {
47 public:
48 
50  static TRegisterLoaderInfo RegisterInObjectManager(
52  const string& dbname = "nr",
53  const EDbType dbtype = eUnknown,
54  bool use_fixed_size_slices = true,
57 
58  virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const;
59 
60  /// All BLAST DB data loader instances have a name that starts with
61  /// kNamePrefix
62  static const string kNamePrefix;
63  static string GetLoaderNameFromArgs(const SBlastDbParam& param);
64 
65  /// Support for fetching the sequence length by batch
66  virtual void GetBlobs(TTSE_LockSets& tse_sets);
67  /// Support for fetching the sequence chunks by batch
68  virtual void GetChunks(const TChunkSet& chunks);
69 
70  /// For a given TBlobId, get the TTSE_Lock.
71  ///
72  /// If the provided TBlobId is known to this code, the
73  /// corresponding TTSE_Lock data will be fetched and returned.
74  /// Otherwise, an empty valued TTSE_Lock is returned.
75  ///
76  /// @param blob_id
77  /// Indicates which data to get.
78  /// @return
79  /// The returned data.
80  virtual TTSE_Lock GetBlobById(const TBlobId& blob_id);
81 private:
84  /// Parametrized constructor
85  /// @param loader_name name of this data loader [in]
86  /// @param param parameters to initialize this data loader [in]
87  CRemoteBlastDbDataLoader(const string& loader_name,
88  const SBlastDbParam& param);
89 
90  /// Prevent automatic copy constructor generation
92 
93  /// Prevent automatic assignment operator generation
95 };
96 
98 
99 
100 extern const string kDataLoader_RmtBlastDb_DriverName;
101 
102 extern "C"
103 {
104 
108 
112 
113 } // extern C
114 
115 
117 
118 #endif /* OBJTOOLS_DATA_LOADERS_BLASTDB___BDBLOADER_RMT__HPP */
Data loader implementation that uses the blast databases.
const string kDataLoader_RmtBlastDb_DriverName
void NCBI_EntryPoint_DataLoader_RmtBlastDb(CPluginManager< objects::CDataLoader >::TDriverInfoList &info_list, CPluginManager< objects::CDataLoader >::EEntryPointRequest method)
void NCBI_EntryPoint_xloader_blastdb_rmt(CPluginManager< objects::CDataLoader >::TDriverInfoList &info_list, CPluginManager< objects::CDataLoader >::EEntryPointRequest method)
EDbType
Describes the type of blast database to use.
Definition: bdbloader.hpp:57
CObjectManager –.
CRemoteBlastDbDataLoader & operator=(const CRemoteBlastDbDataLoader &)
Prevent automatic assignment operator generation.
CRemoteBlastDbDataLoader(const CRemoteBlastDbDataLoader &)
Prevent automatic copy constructor generation.
static const string kNamePrefix
All BLAST DB data loader instances have a name that starts with kNamePrefix.
CParamLoaderMaker< CRemoteBlastDbDataLoader, SBlastDbParam > TMaker
SRegisterLoaderInfo< CRemoteBlastDbDataLoader > TRegisterLoaderInfo
Definition: map.hpp:338
Include a standard set of the NCBI C++ Toolkit most basic headers.
static unsigned char depth[2 *(256+1+29)+1]
@ eUnknown
Definition: app_popup.hpp:72
EIsDefault
Flag defining if the data loader is included in the "default" group.
vector< TChunk > TChunkSet
@ kPriority_NotSet
Deprecated: use kPriority_Default instead.
list< SDriverInfo > TDriverInfoList
List of driver information.
EEntryPointRequest
Actions performed by the entry point.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
char * dbname(DBPROCESS *dbproc)
Get name of current database.
Definition: dblib.c:6929
CRef< objects::CObjectManager > om
SRegisterLoaderInfo –.
Modified on Fri May 24 14:54:52 2024 by modify_doxy.py rev. 669887