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

Go to the SVN repository for this file.

1 /* $Id: ns_cmd_impl.hpp 69896 2015-11-19 15:17:24Z sadyrovr $
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: Dmitry Kazimirov
27  *
28  * File Description: NetSchedule-specific commands - implementation
29  * helpers - declarations.
30  *
31  */
32 
33 #ifndef NS_CMD_IMPL__HPP
34 #define NS_CMD_IMPL__HPP
35 
36 #include "grid_cli.hpp"
37 
39 
41 {
42 public:
43  virtual void ProcessJobMeta(const CNetScheduleKey& key);
44 
45  virtual void BeginJobEvent(const CTempString& event_header);
46  virtual void ProcessJobEventField(const CTempString& attr_name,
47  const string& attr_value);
48  virtual void ProcessJobEventField(const CTempString& attr_name);
49  virtual void ProcessInput(const string& data) { PrintXput(data, "input"); }
50  virtual void ProcessOutput(const string& data) { PrintXput(data, "output"); }
51 
52  virtual void ProcessJobInfoField(const CTempString& field_name,
53  const CTempString& field_value);
54 
55  virtual void ProcessRawLine(const string& line);
56 
57 private:
58  void PrintXput(const string& data, const char* prefix);
59 };
60 
62 
63 #endif // NS_CMD_IMPL__HPP
void PrintXput(const string &data, const char *prefix)
virtual void ProcessOutput(const string &data)
Definition: ns_cmd_impl.hpp:50
virtual void ProcessJobMeta(const CNetScheduleKey &key)
virtual void ProcessRawLine(const string &line)
virtual void ProcessJobInfoField(const CTempString &field_name, const CTempString &field_value)
virtual void ProcessInput(const string &data)
Definition: ns_cmd_impl.hpp:49
virtual void ProcessJobEventField(const CTempString &attr_name, const string &attr_value)
virtual void BeginJobEvent(const CTempString &event_header)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
Definition: tempstr.hpp:65
char data[12]
Definition: iconv.c:80
Declarations of command line interface arguments and handlers.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
const struct ncbi::grid::netcache::search::fields::KEY key
Meaningful information encoded in the NetSchedule key.
Modified on Fri Sep 20 14:58:28 2024 by modify_doxy.py rev. 669887