libzypp
13.10.6
|
Interface to pluigin scripts using a Stomp
inspired communication protocol.
More...
#include <PluginScript.h>
Classes | |
struct | Impl |
PluginScript implementation. More... | |
Public Types | |
typedef std::vector< std::string > | Arguments |
Commandline arguments passed to a script on open. More... | |
Public Member Functions | |
PluginScript () | |
Default ctor. More... | |
PluginScript (const Pathname &script_r) | |
Ctor taking script path and no arguments. More... | |
PluginScript (const Pathname &script_r, const Arguments &args_r) | |
Ctor taking script path and script arguments. More... | |
const Pathname & | script () const |
Return the script path if set. More... | |
const Arguments & | args () const |
Return the script arguments if set. More... | |
bool | isOpen () const |
Whether we are connected to a script. More... | |
pid_t | getPid () const |
Return a connected scripts pid or NotConnected. More... | |
int | lastReturn () const |
Remembers a scripts return value after close until next open. More... | |
const std::string & | lastExecError () const |
Remembers a scripts execError string after close until next open. More... | |
void | open () |
Setup connection and execute script. More... | |
void | open (const Pathname &script_r) |
void | open (const Pathname &script_r, const Arguments &args_r) |
int | close () |
Close any open connection. More... | |
void | send (const PluginFrame &frame_r) const |
Send a PluginFrame. More... | |
PluginFrame | receive () const |
Receive a PluginFrame. More... | |
Get/set local timeout settings. | |
long | sendTimeout () const |
Local default timeout (sec.) when sending data. More... | |
long | receiveTimeout () const |
Local default timeout (sec.) when receiving data. More... | |
void | sendTimeout (long newval_r) |
Set local default timeout (sec.) when sending data. More... | |
void | receiveTimeout (long newval_r) |
Set local default timeout (sec.) when receiving data. More... | |
void | timeout (long newval_r) |
Set local default timeout (sec.) (both: send and receive). More... | |
Static Public Member Functions | |
Get/set the global timeout settings. | |
Timeout when sending/receiving data to/from a plugin default to 30 sec. The value (in seconds) my be changed via the environment variables | |
static long | defaultSendTimeout () |
Global default timeout (sec.) when sending data. More... | |
static long | defaultReceiveTimeout () |
Global default timeout (sec.) when receiving data. More... | |
static void | defaultSendTimeout (long newval_r) |
Set global default timeout (sec.) when sending data. More... | |
static void | defaultReceiveTimeout (long newval_r) |
Set global default timeout (sec.) when receiving data. More... | |
static void | defaultTimeout (long newval_r) |
Set global default timeout (sec.) (both: send and receive). More... | |
Static Public Attributes | |
static const pid_t | NotConnected |
pid_t (-1) constant indicating no connection. More... | |
Private Attributes | |
RW_pointer< Impl > | _pimpl |
Pointer to implementation. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const PluginScript &obj) |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &str, const PluginScript &obj) |
Interface to pluigin scripts using a Stomp
inspired communication protocol.
Timeout when sending/receiving data to/from a plugin default to 30 sec. The value (in seconds) my be changed via the environment variables ZYPP_PLUGIN_SEND_TIMEOUT
, ZYPP_PLUGIN_RECEIVE_TIMEOUT
or ZYPP_PLUGIN_TIMEOUT
(both: send and receive).
Definition at line 62 of file PluginScript.h.
typedef std::vector<std::string> zypp::PluginScript::Arguments |
Commandline arguments passed to a script on open.
Definition at line 68 of file PluginScript.h.
zypp::PluginScript::PluginScript | ( | ) |
Default ctor.
Definition at line 460 of file PluginScript.cc.
zypp::PluginScript::PluginScript | ( | const Pathname & | script_r | ) |
Ctor taking script path and no arguments.
Definition at line 464 of file PluginScript.cc.
zypp::PluginScript::PluginScript | ( | const Pathname & | script_r, |
const Arguments & | args_r | ||
) |
Ctor taking script path and script arguments.
Definition at line 468 of file PluginScript.cc.
|
static |
Global default timeout (sec.) when sending data.
Definition at line 436 of file PluginScript.cc.
|
static |
Global default timeout (sec.) when receiving data.
Definition at line 439 of file PluginScript.cc.
|
static |
Set global default timeout (sec.) when sending data.
Definition at line 442 of file PluginScript.cc.
|
static |
Set global default timeout (sec.) when receiving data.
Definition at line 445 of file PluginScript.cc.
|
inlinestatic |
Set global default timeout (sec.) (both: send and receive).
Definition at line 93 of file PluginScript.h.
const Pathname & zypp::PluginScript::script | ( | ) | const |
Return the script path if set.
Definition at line 472 of file PluginScript.cc.
const PluginScript::Arguments & zypp::PluginScript::args | ( | ) | const |
Return the script arguments if set.
Definition at line 475 of file PluginScript.cc.
bool zypp::PluginScript::isOpen | ( | ) | const |
Whether we are connected to a script.
Definition at line 478 of file PluginScript.cc.
pid_t zypp::PluginScript::getPid | ( | ) | const |
Return a connected scripts pid or NotConnected.
Definition at line 481 of file PluginScript.cc.
int zypp::PluginScript::lastReturn | ( | ) | const |
Remembers a scripts return value after close until next open.
Definition at line 484 of file PluginScript.cc.
const std::string & zypp::PluginScript::lastExecError | ( | ) | const |
Remembers a scripts execError string after close until next open.
Definition at line 487 of file PluginScript.cc.
long zypp::PluginScript::sendTimeout | ( | ) | const |
Local default timeout (sec.) when sending data.
Definition at line 448 of file PluginScript.cc.
long zypp::PluginScript::receiveTimeout | ( | ) | const |
Local default timeout (sec.) when receiving data.
Definition at line 451 of file PluginScript.cc.
void zypp::PluginScript::sendTimeout | ( | long | newval_r | ) |
Set local default timeout (sec.) when sending data.
Definition at line 454 of file PluginScript.cc.
void zypp::PluginScript::receiveTimeout | ( | long | newval_r | ) |
Set local default timeout (sec.) when receiving data.
Definition at line 457 of file PluginScript.cc.
|
inline |
Set local default timeout (sec.) (both: send and receive).
Definition at line 144 of file PluginScript.h.
void zypp::PluginScript::open | ( | ) |
Setup connection and execute script.
PluginScriptException | if already connected to a script |
PluginScriptException | if script does not exist or is not executable |
PluginScriptException | on error |
Definition at line 490 of file PluginScript.cc.
void zypp::PluginScript::open | ( | const Pathname & | script_r | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 493 of file PluginScript.cc.
void zypp::PluginScript::open | ( | const Pathname & | script_r, |
const Arguments & | args_r | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 496 of file PluginScript.cc.
int zypp::PluginScript::close | ( | ) |
Close any open connection.
Definition at line 499 of file PluginScript.cc.
void zypp::PluginScript::send | ( | const PluginFrame & | frame_r | ) | const |
Send a PluginFrame.
PluginScriptNotConnected | |
PluginScriptSendTimeout | |
PluginScriptDiedUnexpectedly | (does not close) |
PluginScriptException | on error |
Definition at line 502 of file PluginScript.cc.
PluginFrame zypp::PluginScript::receive | ( | ) | const |
Receive a PluginFrame.
PluginScriptNotConnected | |
PluginScriptReceiveTimeout | |
PluginScriptDiedUnexpectedly | (does not close) |
PluginScriptException | on error |
Definition at line 505 of file PluginScript.cc.
|
friend |
Definition at line 510 of file PluginScript.cc.
|
related |
Stream output
Definition at line 510 of file PluginScript.cc.
|
static |
pid_t
(-1) constant indicating no connection.
Definition at line 71 of file PluginScript.h.
|
private |
Pointer to implementation.
Definition at line 185 of file PluginScript.h.