libzypp
17.31.31
|
Interface to plugin 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 plugin 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 458 of file PluginScript.cc.
zypp::PluginScript::PluginScript | ( | const Pathname & | script_r | ) |
Ctor taking script path and no arguments.
Definition at line 462 of file PluginScript.cc.
Ctor taking script path and script arguments.
Definition at line 466 of file PluginScript.cc.
|
static |
Global default timeout (sec.) when sending data.
Definition at line 434 of file PluginScript.cc.
|
static |
Global default timeout (sec.) when receiving data.
Definition at line 437 of file PluginScript.cc.
|
static |
Set global default timeout (sec.) when sending data.
Definition at line 440 of file PluginScript.cc.
|
static |
Set global default timeout (sec.) when receiving data.
Definition at line 443 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 470 of file PluginScript.cc.
const PluginScript::Arguments & zypp::PluginScript::args | ( | ) | const |
Return the script arguments if set.
Definition at line 473 of file PluginScript.cc.
bool zypp::PluginScript::isOpen | ( | ) | const |
Whether we are connected to a script.
Definition at line 476 of file PluginScript.cc.
pid_t zypp::PluginScript::getPid | ( | ) | const |
Return a connected scripts pid or NotConnected.
Definition at line 479 of file PluginScript.cc.
int zypp::PluginScript::lastReturn | ( | ) | const |
Remembers a scripts return value after close until next open.
Definition at line 482 of file PluginScript.cc.
const std::string & zypp::PluginScript::lastExecError | ( | ) | const |
Remembers a scripts execError string after close until next open.
Definition at line 485 of file PluginScript.cc.
long zypp::PluginScript::sendTimeout | ( | ) | const |
Local default timeout (sec.) when sending data.
Definition at line 446 of file PluginScript.cc.
long zypp::PluginScript::receiveTimeout | ( | ) | const |
Local default timeout (sec.) when receiving data.
Definition at line 449 of file PluginScript.cc.
void zypp::PluginScript::sendTimeout | ( | long | newval_r | ) |
Set local default timeout (sec.) when sending data.
Definition at line 452 of file PluginScript.cc.
void zypp::PluginScript::receiveTimeout | ( | long | newval_r | ) |
Set local default timeout (sec.) when receiving data.
Definition at line 455 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 488 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 491 of file PluginScript.cc.
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 494 of file PluginScript.cc.
int zypp::PluginScript::close | ( | ) |
Close any open connection.
Definition at line 497 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 500 of file PluginScript.cc.
PluginFrame zypp::PluginScript::receive | ( | ) | const |
Receive a PluginFrame.
PluginScriptNotConnected | |
PluginScriptReceiveTimeout | |
PluginScriptDiedUnexpectedly | (does not close) |
PluginScriptException | on error |
Definition at line 503 of file PluginScript.cc.
|
friend |
Definition at line 508 of file PluginScript.cc.
|
related |
Stream output
Definition at line 508 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.