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

Go to the SVN repository for this file.

1 #ifndef GUI_UTILS___CONN_TEST_THREAD__HPP
2 #define GUI_UTILS___CONN_TEST_THREAD__HPP
3 
4 /* $Id: conn_test_thread.hpp 26184 2012-07-30 18:21:23Z katargir $
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 <corelib/ncbithr.hpp>
37 
38 #include <util/icanceled.hpp>
39 
40 #include <gui/gui_export.h>
41 
43 
44 class CConnTest;
45 
47 {
48 public:
49  CConnTestThread(unsigned int timeout);
50 
51  bool Finished() const { return (m_Finished.Get() != 0); }
52 
53  void RequestCancel() { m_Canceled.Set(1); }
54  virtual bool IsCanceled(void) const { return (m_Canceled.Get() != 0); }
55 
56 // This function must be called only after Finished() returned true
57  bool GoodConnection() const { return m_GoodConnection; }
58  string GetConnInfo() const { return m_ConnInfo; }
59 
60 protected:
61  /// Do job delegated processing to the main class
62  virtual void* Main(void);
63 
64  unsigned int m_Timeout;
66  string m_ConnInfo;
69 };
70 
72 
73 #endif // GUI_UTILS___CONN_TEST_THREAD__HPP
CAtomicCounter_WithAutoInit –.
Definition: ncbicntr.hpp:120
bool GoodConnection() const
unsigned int m_Timeout
CAtomicCounter_WithAutoInit m_Canceled
virtual bool IsCanceled(void) const
CAtomicCounter_WithAutoInit m_Finished
bool Finished() const
string GetConnInfo() const
Interface for testing cancellation request in a long lasting operation.
Definition: icanceled.hpp:51
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
virtual void * Main(void)=0
Derived (user-created) class must provide a real thread function.
#define NCBI_GUIUTILS_EXPORT
Definition: gui_export.h:518
Defines to provide correct exporting from DLLs in Windows.
Multi-threading – classes, functions, and features.
Modified on Mon Jun 24 05:22:40 2024 by modify_doxy.py rev. 669887