1 /*  $Id: ipsgs_processor.cpp 629837 2021-04-22 12:47:49Z ivanov $
2  * ===========================================================================
3  *
4  *                            PUBLIC DOMAIN NOTICE
5  *               National Center for Biotechnology Information
6  *
7  *  This software/database is a "United States Government Work" under the
8  *  terms of the United States Copyright Act.  It was written as part of
9  *  the author's official duties as a United States Government employee and
10  *  thus cannot be copyrighted.  This software/database is freely available
11  *  to the public for use. The National Library of Medicine and the U.S.
12  *  Government have not placed any restriction on its use or reproduction.
13  *
14  *  Although all reasonable efforts have been taken to ensure the accuracy
15  *  and reliability of the software and data, the NLM and the U.S.
16  *  Government do not and cannot warrant the performance or results that
17  *  may be obtained by using this software or data. The NLM and the U.S.
18  *  Government disclaim all warranties, express or implied, including
19  *  warranties of performance, merchantability or fitness for any particular
20  *  purpose.
21  *
22  *  Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Sergey Satskiy
27  *
28  * File Description: PSG processor interface
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 
34 #include "ipsgs_processor.hpp"
35 #include "pubseq_gateway.hpp"
36 
37 
38 string
StatusToString(IPSGS_Processor::EPSGS_Status status)39 IPSGS_Processor::StatusToString(IPSGS_Processor::EPSGS_Status  status)
40 {
41     switch (status) {
42         case IPSGS_Processor::ePSGS_InProgress:
43             return "ePSGS_InProgress";
44         case IPSGS_Processor::ePSGS_Found:
45             return "ePSGS_Found";
46         case IPSGS_Processor::ePSGS_NotFound:
47             return "ePSGS_NotFound";
48         case IPSGS_Processor::ePSGS_Error:
49             return "ePSGS_Error";
50         case IPSGS_Processor::ePSGS_Cancelled:
51             return "ePSGS_Cancelled";
52         default:
53             break;
54     }
55     return "unknown (" + to_string(status) + ")";
56 }
57 
58 
59 IPSGS_Processor::EPSGS_StartProcessing
SignalStartProcessing(void)60 IPSGS_Processor::SignalStartProcessing(void)
61 {
62     return CPubseqGatewayApp::GetInstance()->SignalStartProcessing(this);
63 }
64 
65 
SignalFinishProcessing(void)66 void IPSGS_Processor::SignalFinishProcessing(void)
67 {
68     if (!m_FinishSignalled) {
69         CPubseqGatewayApp::GetInstance()->SignalFinishProcessing(this);
70         m_FinishSignalled = true;
71     }
72 }
73 
74