Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
byte_buffer_args_processor.hpp
Go to the documentation of this file.
1 /*
2 ** Copyright 2014-2016 The Earlham Institute
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 ** http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 */
16 
21 /*
22  * byte_buffer_args_processor.hpp
23  *
24  * Created on: 27 Oct 2016
25  * Author: billy
26  */
27 
28 #ifndef SERVER_SRC_SERVICES_BLAST_INCLUDE_BYTE_BUFFER_ARGS_PROCESSOR_HPP_
29 #define SERVER_SRC_SERVICES_BLAST_INCLUDE_BYTE_BUFFER_ARGS_PROCESSOR_HPP_
30 
31 #include "args_processor.hpp"
32 #include "byte_buffer.h"
33 
34 
41 {
42 public:
47 
51  virtual ~ByteBufferArgsProcessor ();
52 
53 
64  virtual bool AddArg (const char *arg_s, const bool hyphen_flag);
65 
71  const char *GetArgsAsString ();
72 
73 private:
74  ByteBuffer *bbap_buffer_p;
75 };
76 
77 
78 
79 #endif /* SERVER_SRC_SERVICES_BLAST_INCLUDE_BYTE_BUFFER_ARGS_PROCESSOR_HPP_ */
ByteBufferArgsProcessor
An ArgsProcessor that adds all of its values to a given ByteBuffer.
Definition: byte_buffer_args_processor.hpp:40
ArgsProcessor::AddArg
virtual bool AddArg(const char *arg_s, const bool hyphen_flag)=0
Add an argument to the underlying tool.
args_processor.hpp
BLAST_SERVICE_LOCAL
#define BLAST_SERVICE_LOCAL
Definition: blast_service_api.h:48
byte_buffer.h
ByteBuffer
A datatype to allow an automatically growing buffer for appending data to.
Definition: byte_buffer.h:35
ArgsProcessor
An ArgsProcessor is a class to abstract out how a particular BlastTool stores a value when an argumen...
Definition: args_processor.hpp:46