ewmscp  ..
Public Member Functions | Public Attributes | List of all members
preservables Class Reference

#include <ewmscp.h>

Public Member Functions

 preservables () noexcept
 
void set (const std::string &opt)
 

Public Attributes

bool mode
 
bool ownership
 
bool timestamps
 
bool attrs
 
bool acls
 

Detailed Description

Definition at line 71 of file ewmscp.h.

Constructor & Destructor Documentation

◆ preservables()

preservables::preservables ( )
inlinenoexcept

Definition at line 73 of file ewmscp.h.

73  :
74  mode(false),
75  ownership(false),
76  timestamps(false),
77  attrs(false),
78  acls(false) {};

Member Function Documentation

◆ set()

void preservables::set ( const std::string &  opt)

Definition at line 185 of file ewmscp.cpp.

185  {
186  std::remove_reference<decltype(opt)>::type::size_type start = 0;
187  auto stop = opt.find(',', start);
188  while (true) {
189  auto keyword = opt.substr(start, stop - start);
190  if (keyword == "mode") {
191  mode = true;
192  } else if (keyword == "ownership") {
193  ownership = true;
194  } else if (keyword == "timestamps") {
195  timestamps = true;
196  } else if (keyword == "attr" || keyword == "xattr") {
197  attrs = true;
198  } else if (keyword == "acls") {
199  acls = true;
200  } else if (keyword == "all") {
201  mode = true;
202  ownership = true;
203  timestamps = true;
204  attrs = true;
205  acls = true;
206  } else {
207  throw std::invalid_argument("bad --preserve argument " + keyword);
208  }
209  if (stop == std::remove_reference<decltype(opt)>::type::npos) {
210  break;
211  }
212  start = stop + 1;
213  stop = opt.find(',', start);
214  }
215 }

References acls, attrs, mode, ownership, throttle::start, and timestamps.

Member Data Documentation

◆ acls

bool preservables::acls

Definition at line 83 of file ewmscp.h.

Referenced by set().

◆ attrs

bool preservables::attrs

Definition at line 82 of file ewmscp.h.

Referenced by set().

◆ mode

bool preservables::mode

Definition at line 78 of file ewmscp.h.

Referenced by set().

◆ ownership

bool preservables::ownership

Definition at line 80 of file ewmscp.h.

Referenced by set().

◆ timestamps

bool preservables::timestamps

Definition at line 81 of file ewmscp.h.

Referenced by set().


The documentation for this class was generated from the following files:
preservables::mode
bool mode
Definition: ewmscp.h:78
preservables::timestamps
bool timestamps
Definition: ewmscp.h:81
throttle::start
static auto start
Definition: throttle.h:10
preservables::attrs
bool attrs
Definition: ewmscp.h:82
preservables::ownership
bool ownership
Definition: ewmscp.h:80
preservables::acls
bool acls
Definition: ewmscp.h:83