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

Go to the SVN repository for this file.

1 #ifndef CONNECT_SERVICES___NS_CLIENT_FACTORY__HPP
2 #define CONNECT_SERVICES___NS_CLIENT_FACTORY__HPP
3 
4 /* $Id: ns_client_factory.hpp 84663 2018-11-27 18:22:00Z ucko $
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: Maxim Didenko
30  *
31  */
32 
34 
35 #include <corelib/ncbireg.hpp>
37 #include <corelib/ncbiexpt.hpp>
38 
39 
41 
42 
43 /// NetSchedule Client Factory interface
44 ///
45 /// @sa CNetScheduleAPI
46 /// @internal
48 {
49 public:
52 
53  virtual CNetScheduleAPI CreateInstance();
54 
55 private:
59 };
60 
61 
62 
63 /////////////////////////////////////////////////////////////////////////////
64 //
65 /// @internal
67 {
68 public:
69  enum EErrCode {
71  };
72 
73  virtual const char* GetErrCodeString(void) const override
74  {
75  switch (GetErrCode()) {
76  case eNSClientIsNotCreated: return "eNSClientIsNotCreatedError";
77  default: return CException::GetErrCodeString();
78  }
79  }
80 
82 };
83 
84 
86 
87 #endif // CONNECT_SERVICES___NS_CLIENT_FACTORY__HPP
virtual const char * GetErrCodeString(void) const override
Get error code interpreted as text.
NCBI_EXCEPTION_DEFAULT(CNSClientFactoryException, CException)
Client API for NCBI NetSchedule server.
NetSchedule Client Factory interface.
CPluginManager< SNetScheduleAPIImpl > TPMNetSchedule
IRegistry –.
Definition: ncbireg.hpp:73
TErrCode GetErrCode(void) const
Get error code.
Definition: ncbiexpt.cpp:453
virtual const char * GetErrCodeString(void) const
Get error code interpreted as text.
Definition: ncbiexpt.cpp:444
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_XCONNECT_EXPORT
Defines NCBI C++ exception handling.
Process information in the NCBI Registry, including working with configuration files.
NetSchedule client specs.
Plugin manager (using class factory paradigm).
Modified on Wed Sep 04 15:07:15 2024 by modify_doxy.py rev. 669887