3 #ifndef SWIG__COMMON__NDS_PARAMS_HH
4 #define SWIG__COMMON__NDS_PARAMS_HH
8 #include <unordered_map>
23 bool str_to_bool(
const std::string& input,
bool& dest );
31 :
name(
"ABORT_HANDLER" ),
37 std::unique_ptr< gap_handler > handler_ptr )
38 :
name( std::move( handler_name ) ),
39 handler( std::move( handler_ptr ) )
52 std::unique_ptr< gap_handler > tmp(
66 NDS::connection::port_type
port;
71 port( NDS::connection::DEFAULT_PORT ),
72 protocol( NDS::connection::PROTOCOL_TRY )
76 NDS::connection::port_type Port,
77 NDS::connection::protocol_type Protocol )
103 parameter_block(
const parameter_block& other ) =
default;
104 parameter_block( parameter_block&& other ) =
default;
107 operator=(
const parameter_block& other ) =
default;
109 operator=( parameter_block&& other ) noexcept =
delete;
113 std::string
get(
const std::string& parameter )
const;
119 bool set(
const std::string& parameter,
const std::string& value );
125 std::vector< std::string > parameters( )
const;
129 std::string env_prefix( )
const;
135 return _max_nds1_command_count;
142 return _allow_data_on_tape;
146 std::unique_ptr< NDS::detail::gap_handler >
149 return _gap_handler.handler->clone( );
156 return _iterate_uses_gap_handler;
170 bool set_gap_handler(
const std::string& handler_str );
190 return *( params_.p_ );
199 #endif // SWIG__COMMON__NDS_PARAMS_HH
bool _allow_data_on_tape
Definition: nds_parameter_block.hh:165
param_net_conn_info()
Definition: nds_parameter_block.hh:69
param_net_conn_info(NDS::connection::host_type Hostname, NDS::connection::port_type Port, NDS::connection::protocol_type Protocol)
Definition: nds_parameter_block.hh:75
NDS::connection::host_type hostname
Definition: nds_parameter_block.hh:65
A parameter block describes parameters affecting the behavior of the NDS::connection.
Definition: nds_parameter_block.hh:97
parameter_accessor(NDS::parameters ¶ms)
Definition: nds_parameter_block.hh:180
param_gap_handler(std::string handler_name, std::unique_ptr< gap_handler > handler_ptr)
Definition: nds_parameter_block.hh:36
Definition: nds_parameter_block.hh:63
std::unique_ptr< NDS::detail::gap_handler > gap_handler() const
Definition: nds_parameter_block.hh:147
param_gap_handler & operator=(const param_gap_handler &other)
Definition: nds_parameter_block.hh:48
param_gap_handler()
Definition: nds_parameter_block.hh:30
NDS::parameters & params_
Definition: nds_parameter_block.hh:194
std::unique_ptr< gap_handler > handler
Definition: nds_parameter_block.hh:28
bool allow_data_on_tape() const
Definition: nds_parameter_block.hh:140
NDS::connection::protocol_type protocol
Definition: nds_parameter_block.hh:67
int _max_nds1_command_count
Definition: nds_parameter_block.hh:164
bool iterate_uses_gap_handler() const
Definition: nds_parameter_block.hh:154
std::string name
Definition: nds_parameter_block.hh:27
std::unique_ptr< T > make_unique(Ts &&...params)
Definition: nds_memory.hh:24
~param_gap_handler()=default
param_net_conn_info & operator=(const param_net_conn_info &other)=default
param_gap_handler _gap_handler
Definition: nds_parameter_block.hh:167
bool _iterate_uses_gap_handler
Definition: nds_parameter_block.hh:166
int max_nds1_command_count() const
Definition: nds_parameter_block.hh:133
A parameter_accessor allows internal code to access the detail::parameter_block in a NDS::connection:...
Definition: nds_parameter_block.hh:177
NDS::connection::port_type port
Definition: nds_parameter_block.hh:66
Definition: nds_gap_handler.hh:122
param_gap_handler(const param_gap_handler &other)
Definition: nds_parameter_block.hh:42
Definition: nds_parameter_block.hh:25
param_net_conn_info _net_conn_info
Definition: nds_parameter_block.hh:168
bool str_to_bool(const std::string &input, bool &dest)
Given a std::string extract a boolean value.
Definition: nds_parameter_block.cc:242