/usr/include/arc/data-staging/DataDeliveryLocalComm.h is in nordugrid-arc-dev 4.0.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #ifndef DATADELIVERYLOCALCOMM_H_
#define DATADELIVERYLOCALCOMM_H_
#include <arc/Run.h>
#include "DataDeliveryComm.h"
namespace DataStaging {
/// This class starts, monitors and controls a local Delivery process.
/**
* \ingroup datastaging
* \headerfile DataDeliveryLocalComm.h arc/data-staging/DataDeliveryLocalComm.h
*/
class DataDeliveryLocalComm : public DataDeliveryComm {
public:
/// Starts child process
DataDeliveryLocalComm(DTR_ptr dtr, const TransferParameters& params);
/// This stops the child process
virtual ~DataDeliveryLocalComm();
/// Read from stdout of child to get status
virtual void PullStatus();
/// Returns "/" since local Delivery can access everywhere
static bool CheckComm(DTR_ptr dtr, std::vector<std::string>& allowed_dirs);
/// Returns true if child process exists
virtual operator bool() const { return (child_ != NULL); };
/// Returns true if child process does not exist
virtual bool operator!() const { return (child_ == NULL); };
private:
/// Child process
Arc::Run* child_;
/// Stdin of child, used to pass credentials
std::string stdin_;
/// Temporary credentails location
std::string tmp_proxy_;
/// Time last communication was received from child
Arc::Time last_comm;
};
} // namespace DataStaging
#endif /* DATADELIVERYLOCALCOMM_H_ */
|