668 lines
14 KiB
OpenEdge ABL
668 lines
14 KiB
OpenEdge ABL
/*
|
|
*
|
|
* ClientOptions
|
|
*
|
|
* client option declarations for openwsman swig bindings
|
|
*
|
|
*/
|
|
|
|
%rename(ClientOptions) client_opt_t;
|
|
%nodefault client_opt_t;
|
|
typedef struct {} client_opt_t;
|
|
|
|
|
|
/*
|
|
* Document-class: ClientOptions
|
|
*
|
|
* ClientOptions control the behaviour of the Client connection
|
|
*
|
|
* The primary use of ClientOptions in normal operations is adding
|
|
* selectors - key/value pairs added to the request URL.
|
|
*
|
|
* For WS-CIM operations, selectors define the key attributes for
|
|
* the selected CIM class to address a specific instance of the class.
|
|
*
|
|
*/
|
|
|
|
%extend client_opt_t {
|
|
client_opt_t() {
|
|
client_opt_t *options = wsmc_options_init();
|
|
return options;
|
|
}
|
|
|
|
~client_opt_t() {
|
|
wsmc_options_destroy( $self );
|
|
}
|
|
|
|
/*
|
|
* Request to dump all operations to the dumpfile
|
|
*
|
|
* Used for debugging on the wire-level
|
|
*
|
|
* See also: clear_dump_request
|
|
*
|
|
* call-seq:
|
|
* options.set_dump_request
|
|
*
|
|
*/
|
|
void set_dump_request(void) {
|
|
wsmc_set_action_option($self, FLAG_DUMP_REQUEST );
|
|
}
|
|
|
|
/*
|
|
* Reset dump all operations to the dumpfile
|
|
*
|
|
* Used for debugging on the wire-level
|
|
*
|
|
* See also: set_dump_request
|
|
*
|
|
* call-seq:
|
|
* options.clear_dump_request
|
|
*
|
|
*/
|
|
void clear_dump_request(void) {
|
|
wsmc_clear_action_option($self, FLAG_DUMP_REQUEST );
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "flags=" ) set_flags(unsigned long flags);
|
|
#endif
|
|
/*
|
|
* set option flag(s)
|
|
*
|
|
* adds new flag(s) to options
|
|
*
|
|
* call-seq:
|
|
* options.flags = Openwsman::FLAG_ENUMERATION_OPTIMIZATION
|
|
*
|
|
*/
|
|
void set_flags(unsigned long flags) {
|
|
wsmc_set_action_option($self, flags);
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "flags" ) get_flags();
|
|
#endif
|
|
/*
|
|
* get option flag(s)
|
|
*
|
|
* return current flags bitmask
|
|
*
|
|
* call-seq:
|
|
* optins.flags -> Integer
|
|
*
|
|
*/
|
|
unsigned long get_flags() {
|
|
return wsmc_get_action_option($self);
|
|
}
|
|
|
|
/*
|
|
* clear option flag(s)
|
|
*
|
|
* clears specific flag(s) from options
|
|
*
|
|
* call-seq:
|
|
* options.clear_flags Openwsman::FLAG_ENUMERATION_OPTIMIZATION
|
|
*
|
|
*/
|
|
void clear_flags(unsigned long flags) {
|
|
wsmc_clear_action_option($self, flags);
|
|
}
|
|
|
|
/*
|
|
* reset option flags
|
|
*
|
|
* sets option flags bitmask to FLAG_NONE
|
|
*
|
|
* call-seq:
|
|
* options.reset_flags
|
|
*
|
|
*/
|
|
void reset_flags() {
|
|
wsmc_clear_action_option($self, ~FLAG_NONE);
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "max_envelope_size=" ) set_max_envelope_size(unsigned long size);
|
|
#endif
|
|
/*
|
|
* Limit size of result document
|
|
*
|
|
* call-seq:
|
|
* options.max_envelope_size = 10240
|
|
*
|
|
*/
|
|
void set_max_envelope_size(unsigned long size) {
|
|
$self->max_envelope_size = size;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "max_envelope_size" ) get_max_envelope_size();
|
|
#endif
|
|
/*
|
|
* Return size limit of result document
|
|
*
|
|
* call-seq:
|
|
* options.max_envelope_size -> Integer
|
|
*
|
|
*/
|
|
unsigned long get_max_envelope_size() {
|
|
return $self->max_envelope_size;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "max_elements=" ) set_max_elements(int elements);
|
|
#endif
|
|
/*
|
|
* Limit number of elements returned by enumeration
|
|
*
|
|
* call-seq:
|
|
* options.max_elements = 42
|
|
*
|
|
*/
|
|
void set_max_elements(int elements) {
|
|
$self->max_elements = elements;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "max_elements" ) get_max_elements();
|
|
#endif
|
|
/*
|
|
* Return enumeration elements limit
|
|
*
|
|
* call-seq:
|
|
* options.max_elements -> Integer
|
|
*
|
|
*/
|
|
int get_max_elements() {
|
|
return $self->max_elements;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "timeout=" ) set_timeout(unsigned long timeout);
|
|
#endif
|
|
/*
|
|
* Operation timeout in milliseconds
|
|
* See Openwsman::Transport.timeout for transport timeout
|
|
*
|
|
* call-seq:
|
|
* options.timeout = 60*1000 # 60 seconds
|
|
*
|
|
*/
|
|
void set_timeout(unsigned long timeout) {
|
|
$self->timeout = timeout;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "timeout" ) get_timeout();
|
|
#endif
|
|
/*
|
|
* Return operation timeout in milliseconds
|
|
* See Openwsman::Transport.timeout for transport timeout
|
|
*
|
|
* call-seq:
|
|
* options.timeout -> Integer
|
|
*
|
|
*/
|
|
unsigned long get_timeout() {
|
|
return $self->timeout;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "fragment=" ) set_fragment(char *fragment);
|
|
#endif
|
|
/*
|
|
* Set fragment filter
|
|
* See DSP0226, section 7.7.
|
|
* (Supported Dialects: XPATH)
|
|
*
|
|
* call-seq:
|
|
* options.fragment = "xpath/expression"
|
|
*
|
|
*/
|
|
void set_fragment(char *fragment) {
|
|
wsmc_set_fragment(fragment, $self);
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "fragment" ) get_fragment();
|
|
#endif
|
|
/*
|
|
* Get fragment filter
|
|
* See DSP0226, section 7.7.
|
|
*
|
|
* call-seq:
|
|
* options.fragment -> String
|
|
*
|
|
*/
|
|
const char *get_fragment() {
|
|
return $self->fragment;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "cim_namespace=" ) set_cim_namespace(char *cim_namespace);
|
|
#endif
|
|
/*
|
|
* Set CIM Namespace for Openwsman
|
|
* (default is root/cimv2)
|
|
* Note:
|
|
* Microsoft WinRM set the resource namespace by attaching it
|
|
* to the resource URI
|
|
*
|
|
* See also: Openwsman.epr_prefix_for
|
|
*
|
|
* call-seq:
|
|
* options.cim_namespace = "root/interop"
|
|
*
|
|
*/
|
|
void set_cim_namespace(char *cim_namespace) {
|
|
wsmc_set_cim_ns(cim_namespace, $self);
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "cim_namespace" ) get_cim_namespace();
|
|
#endif
|
|
/*
|
|
* Get CIM Namespace for Openwsman
|
|
* Note:
|
|
* Microsoft WinRM set the resource namespace by attaching it
|
|
* to the resource URI
|
|
*
|
|
* See also: Openwsman.epr_prefix_for
|
|
*
|
|
* call-seq:
|
|
* options.cim_namespace -> String
|
|
*
|
|
*/
|
|
const char *get_cim_namespace() {
|
|
return $self->cim_ns;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "reference=" ) set_reference(const char *reference);
|
|
#endif
|
|
/*
|
|
* Set WS-Addressing reference properties
|
|
* Argument must the string representation of a valid XML document
|
|
*
|
|
* call-seq:
|
|
* options.reference = "<xml ...>"
|
|
*
|
|
*/
|
|
void set_reference(const char *reference) {
|
|
wsmc_set_reference(reference, $self);
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "reference" ) get_reference();
|
|
#endif
|
|
/*
|
|
* Get WS-Addressing reference properties
|
|
* Returns the string representation of a valid XML document
|
|
*
|
|
* call-seq:
|
|
* options.reference -> String
|
|
*
|
|
*/
|
|
const char *get_reference() {
|
|
return $self->reference;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
/*
|
|
* Add an option (for OptionSet) as key/value pair
|
|
*
|
|
* NOTE:
|
|
* the value must be properly escaped (replace & with &, etc.)
|
|
* in Ruby use CGI::escapeHTML()
|
|
*
|
|
* call-seq:
|
|
* options.add_option "Name", "Value"
|
|
*
|
|
*/
|
|
void add_option(VALUE k, VALUE v)
|
|
{
|
|
const char *key = as_string(k);
|
|
const char *value = as_string(v);
|
|
#else
|
|
void add_option(const char *key, const char *value)
|
|
{
|
|
#endif
|
|
wsmc_add_option($self, key, value);
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "options=" ) set_options(VALUE hash);
|
|
/*
|
|
* Set options (for OptionSet) from Hash
|
|
*
|
|
* NOTE:
|
|
* the values must be properly escaped (replace & with &, etc.)
|
|
* in Ruby use CGI::escapeHTML()
|
|
*
|
|
* call-seq:
|
|
* options.options = { "Name" => "Value", ... }
|
|
*
|
|
*/
|
|
void set_options(VALUE hash)
|
|
{
|
|
$self->options = value2hash(NULL, hash, 0);
|
|
}
|
|
|
|
%rename( "options" ) get_options(void);
|
|
/*
|
|
* Get options (for OptionSet) as Hash
|
|
*
|
|
* call-seq:
|
|
* options.options -> Hash
|
|
*
|
|
*/
|
|
VALUE get_options(void)
|
|
{
|
|
return hash2value($self->options);
|
|
}
|
|
#endif
|
|
|
|
#if defined(SWIGRUBY)
|
|
/*
|
|
* Add a selector as key/value pair
|
|
*
|
|
* NOTE:
|
|
* the string value must be properly escaped (replace & with &, etc.)
|
|
* in Ruby use CGI::escapeHTML()
|
|
*
|
|
* call-seq:
|
|
* options.add_selector "Key", "Value"
|
|
* options.add_selector "Key", end_point_reference
|
|
*
|
|
*/
|
|
void add_selector(VALUE k, VALUE v)
|
|
{
|
|
const char *key = as_string(k);
|
|
KLASS_DECL(SwigClassEndPointReference,SWIGTYPE_p_epr_t);
|
|
if (CLASS_OF(v) == KLASS_OF(SwigClassEndPointReference)) {
|
|
epr_t *epr;
|
|
SWIG_ConvertPtr(v, (void **)&epr, SWIGTYPE_p_epr_t, 0);
|
|
wsmc_add_selector_epr($self, key, epr);
|
|
}
|
|
else {
|
|
const char *value = as_string(v);
|
|
wsmc_add_selector($self, key, value);
|
|
}
|
|
}
|
|
#else
|
|
void add_selector(const char *key, const char *value)
|
|
{
|
|
wsmc_add_selector($self, key, value);
|
|
}
|
|
#endif
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "selectors" ) get_selectors(void);
|
|
/*
|
|
* Get selectors as Hash
|
|
*
|
|
* call-seq:
|
|
* options.selectors -> Hash
|
|
*
|
|
*/
|
|
VALUE get_selectors(void)
|
|
{
|
|
return kv_list_to_hash($self->selectors);
|
|
}
|
|
#endif
|
|
|
|
#if defined(SWIGRUBY)
|
|
/*
|
|
* Add a property as key/value pair
|
|
* * Input parameters to 'invoke'd methods are represented as ClientOption properties
|
|
* * Key is evaluated as String
|
|
* * Value is evaluated as String or EndPointReference
|
|
*
|
|
* call-seq:
|
|
* options.add_property "Key", "Value"
|
|
* options.add_property "Key", EndPointReference.new(...)
|
|
*
|
|
*/
|
|
void add_property(VALUE k, VALUE v)
|
|
{
|
|
const char *key = as_string(k);
|
|
KLASS_DECL(SwigClassEndPointReference,SWIGTYPE_p_epr_t);
|
|
|
|
if (CLASS_OF(v) == KLASS_OF(SwigClassEndPointReference)) {
|
|
const epr_t *epr;
|
|
SWIG_ConvertPtr(v, (void **)&epr, SWIGTYPE_p_epr_t, 0);
|
|
wsmc_add_property_epr($self, key, epr);
|
|
}
|
|
else {
|
|
const char *value = as_string(v);
|
|
wsmc_add_property($self, key, value);
|
|
}
|
|
}
|
|
#else
|
|
/*
|
|
* Add a string property as key/value pair
|
|
* * Input parameters to 'invoke'd methods are represented as ClientOption properties
|
|
*
|
|
* call-seq:
|
|
* options.add_property( "Key", "Value" )
|
|
*
|
|
*/
|
|
void add_property(const char *key, const char *value)
|
|
{
|
|
wsmc_add_property($self, key, value);
|
|
}
|
|
|
|
/*
|
|
* Add a string property as key/value pair (an 'add_property' analogue for adding array items)
|
|
* * Input parameters to 'invoke'd methods are represented as ClientOption properties
|
|
*
|
|
* call-seq:
|
|
* options.add_property( "Key", "Value" )
|
|
*
|
|
*/
|
|
void add_property_array_item(const char *key, const char *value)
|
|
{
|
|
wsmc_add_property_array_item($self, key, value);
|
|
}
|
|
|
|
/*
|
|
* Add an EndPointReference property as key/value pair
|
|
* Input parameters to 'invoke'd methods are represented as ClientOption properties
|
|
*
|
|
* call-seq:
|
|
* options.add_property( String, EndPointReference )
|
|
*
|
|
*/
|
|
void add_property(const char *key, const epr_t *epr)
|
|
{
|
|
wsmc_add_property_epr($self, key, epr);
|
|
}
|
|
#endif
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "properties" ) get_properties(void);
|
|
/*
|
|
* Get properties as Hash
|
|
* * Input parameters to 'invoke'd methods are represented as ClientOption properties
|
|
*
|
|
* call-seq:
|
|
* options.properties -> Hash
|
|
*
|
|
*/
|
|
VALUE get_properties(void)
|
|
{
|
|
return kv_list_to_hash($self->properties);
|
|
}
|
|
#endif
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "delivery_uri=" ) set_delivery_uri(const char *delivery_uri);
|
|
#endif
|
|
/*
|
|
* Set delivery uri
|
|
*
|
|
* call-seq:
|
|
* options.delivery_uri = "http://..."
|
|
*
|
|
*/
|
|
void set_delivery_uri( const char *delivery_uri ) {
|
|
wsmc_set_delivery_uri(delivery_uri, $self);
|
|
}
|
|
|
|
/*
|
|
* Get delivery uri
|
|
*
|
|
* call-seq:
|
|
* options.delivery_uri -> String
|
|
*
|
|
*/
|
|
const char *delivery_uri() {
|
|
return $self->delivery_uri;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "sub_expiry=" ) set_sub_expiry(float event_subscription_expire);
|
|
#endif
|
|
/*
|
|
* Set subscription expiry timeout (in seconds.milliseconds (float))
|
|
*
|
|
* call-seq:
|
|
* options.sub_expiry = 600 # 10 mins
|
|
*
|
|
*/
|
|
void set_sub_expiry(float event_subscription_expire) {
|
|
wsmc_set_sub_expiry(event_subscription_expire, $self);
|
|
}
|
|
|
|
/*
|
|
* Get subscription expiry timeout (in seconds)
|
|
*
|
|
* call-seq:
|
|
* options.sub_expiry -> Float
|
|
*
|
|
*/
|
|
float sub_expiry() {
|
|
return $self->expires;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename("heartbeat_interval=") set_heartbeat_interval(float heartbeat_interval);
|
|
#endif
|
|
/*
|
|
* Set subscription heartbeat interval (in seconds.milliseconds (float))
|
|
*
|
|
* call-seq:
|
|
* options.heartbeat_interval = 60 # every minute
|
|
*
|
|
*/
|
|
void set_heartbeat_interval(float heartbeat_interval) {
|
|
wsmc_set_heartbeat_interval(heartbeat_interval, $self);
|
|
}
|
|
|
|
/*
|
|
* Get subscription heartbeat interval (in seconds)
|
|
*
|
|
* call-seq:
|
|
* options.heartbeat_interval -> Float
|
|
*
|
|
*/
|
|
float heartbeat_interval() {
|
|
return $self->heartbeat_interval;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "delivery_mode=" ) set_delivery_mode(unsigned int delivery_mode);
|
|
#endif
|
|
/*
|
|
* Set subscription delivery mode (push, pushwithack,events,pull)
|
|
*
|
|
* call-seq:
|
|
* options.delivery_mode = Openwsman::WSMAN_DELIVERY_PUSH
|
|
*
|
|
*/
|
|
void set_delivery_mode(unsigned int delivery_mode) {
|
|
if (delivery_mode > WSMAN_DELIVERY_PULL)
|
|
SWIG_exception( SWIG_ValueError, "Bad delivery mode" );
|
|
|
|
wsmc_set_delivery_mode(delivery_mode, $self);
|
|
#if defined(SWIGPYTHON) || defined(SWIGPERL) || defined(SWIGJAVA)
|
|
fail:
|
|
return;
|
|
#endif
|
|
}
|
|
|
|
/*
|
|
* Get subscription delivery mode (push, pushwithack,events,pull)
|
|
*
|
|
* call-seq:
|
|
* options.delivery_mode -> Integer
|
|
*
|
|
*/
|
|
int delivery_mode() {
|
|
return $self->delivery_mode;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename( "delivery_security_mode=" ) set_delivery_security_mode(unsigned int delivery_mode);
|
|
#endif
|
|
/*
|
|
* Set subscription delivery security mode
|
|
*
|
|
* (auto, http basic, http digest, https basic, https digest,
|
|
* https mutual, https mutual basic, https mutual digest,
|
|
* http spnego kerberos, https spnego kerberos,
|
|
* https mutual spnego kerberos)
|
|
*
|
|
* call-seq:
|
|
* options.delivery_security_mode = Openwsman::WSMAN_DELIVERY_SEC_HTTPS_BASIC
|
|
*
|
|
*/
|
|
void set_delivery_security_mode(unsigned int delivery_sec_mode) {
|
|
if (delivery_sec_mode > WSMAN_DELIVERY_SEC_HTTP_SPNEGO_KERBEROS)
|
|
SWIG_exception( SWIG_ValueError, "Bad delivery security mode" );
|
|
wsmc_set_delivery_security_mode(delivery_sec_mode, $self);
|
|
#if defined(SWIGPYTHON) || defined(SWIGPERL) || defined(SWIGJAVA)
|
|
fail:
|
|
return;
|
|
#endif
|
|
}
|
|
|
|
/*
|
|
* Get subscription delivery security mode
|
|
*
|
|
* call-seq:
|
|
* options.delivery_security_mode -> Integer
|
|
*
|
|
*/
|
|
int delivery_sec_mode() {
|
|
return $self->delivery_sec_mode;
|
|
}
|
|
|
|
#if defined(SWIGRUBY)
|
|
%rename("locale=") set_locale(const char *locale);
|
|
#endif
|
|
/*
|
|
* Set request locale
|
|
*
|
|
* call-seq:
|
|
* options.locale = "en_us"
|
|
*
|
|
*/
|
|
void set_locale(const char *locale) {
|
|
wsmc_set_locale($self, locale);
|
|
}
|
|
|
|
/*
|
|
* Get locales
|
|
*
|
|
* call-seq:
|
|
* options.locale -> String
|
|
*
|
|
*/
|
|
const char *locale() {
|
|
return $self->locale;
|
|
}
|
|
|
|
}
|