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

Go to the SVN repository for this file.

1 #ifndef WGSMASTER__HPP_INCLUDED
2 #define WGSMASTER__HPP_INCLUDED
3 /* $Id: wgsmaster.hpp 95912 2022-01-14 15:56:00Z vasilche $
4 * ===========================================================================
5 * PUBLIC DOMAIN NOTICE
6 * National Center for Biotechnology Information
7 *
8 * This software/database is a "United States Government Work" under the
9 * terms of the United States Copyright Act. It was written as part of
10 * the author's official duties as a United States Government employee and
11 * thus cannot be copyrighted. This software/database is freely available
12 * to the public for use. The National Library of Medicine and the U.S.
13 * Government have not placed any restriction on its use or reproduction.
14 *
15 * Although all reasonable efforts have been taken to ensure the accuracy
16 * and reliability of the software and data, the NLM and the U.S.
17 * Government do not and cannot warrant the performance or results that
18 * may be obtained by using this software or data. The NLM and the U.S.
19 * Government disclaim all warranties, express or implied, including
20 * warranties of performance, merchantability or fitness for any particular
21 * purpose.
22 *
23 * Please cite the author in any work or product based on this material.
24 * ===========================================================================
25 *
26 * Author: Eugene Vasilchenko
27 *
28 * File Description:
29 * Helper classes to propagate master WGS descriptors
30 *
31 */
32 
33 #include <corelib/ncbiobj.hpp>
34 
37 
38 class CDataLoader;
39 class CTSE_LoadLock;
40 class CTSE_Chunk_Info;
41 
42 // API for WGS descriptors propagation
43 
45 {
46 public:
47 
48  // The AddWGSMaster() method should be called on loaded entry that is suspected
49  // to be a WGS entry - by means of its blob id or something like that.
50  // The library will check if Seq-ids of sequences in the entry match WGS pattern
51  // and attach artificial split chunk with special id kMasterWGS_ChunkId (== kMax_Int-1).
52  // The TSE should be assigned with Seq-entry but not marked in OM as loaded yet.
53  static void AddWGSMaster(CTSE_LoadLock& lock);
54 
55  // The LoadWGSMaster() method should be called when OM requests to load
56  // the artificial chunk with id kMasterWGS_ChunkId.
57  // The loader argument will be used to retrieve master WGS entry using method
58  // GetRecordsNoBlobState() (default CDataLoader implementation calls GetRecords()).
59  static void LoadWGSMaster(CDataLoader* loader,
60  CRef<CTSE_Chunk_Info> chunk);
61 
62 };
63 
64 
67 
68 #endif//WGSMASTER__HPP_INCLUDED
#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
#define NCBI_XREADER_EXPORT
Definition: ncbi_export.h:1371
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
Modified on Wed Sep 04 15:05:02 2024 by modify_doxy.py rev. 669887