/*
* wsman-transport.i * client transport declarations for openwsman swig bindings * */
%rename(Transport) _WsManTransport; %nodefault _WsManTransport; typedef struct _WsManTransport {} WsManTransport;
/*
* Document-class: Transport * * Transport reflects details of the http(s) transport layer between * client and server. * */
/* rename those as <foo>_STR below */ %ignore _WS_NO_AUTH; %ignore _WS_BASIC_AUTH; %ignore _WS_DIGEST_AUTH; %ignore _WS_PASS_AUTH; %ignore _WS_NTLM_AUTH; %ignore _WS_GSSNEGOTIATE_AUTH;
%include “u/libu.h” %include “wsman-client-transport.h”
%extend _WsManTransport {
/* No authentication */ %constant int NO_AUTH = WS_NO_AUTH; /* HTTP basic auth */ %constant int BASIC_AUTH = WS_BASIC_AUTH; /* HTTP digest auth */ %constant int DIGEST_AUTH = WS_DIGEST_AUTH; /* Windows Passport auth */ %constant int PASS_AUTH = WS_PASS_AUTH; /* Windows NT Lan manager auth */ %constant int NTLM_AUTH = WS_NTLM_AUTH; /* GSSAPI auth */ %constant int GSSNEGOTIATE_AUTH = WS_GSSNEGOTIATE_AUTH; /* No authentication */ %constant char *NO_AUTH_STR = _WS_NO_AUTH; /* HTTP basic auth */ %constant char *BASIC_AUTH_STR = _WS_BASIC_AUTH; /* HTTP digest auth */ %constant char *DIGEST_AUTH_STR = _WS_DIGEST_AUTH; /* Windows Passport auth */ %constant char *PASS_AUTH_STR = _WS_PASS_AUTH; /* Windows NT Lan manager auth */ %constant char *NTLM_AUTH_STR = _WS_NTLM_AUTH; /* GSSAPI auth */ %constant char *GSSNEGOTIATE_AUTH_STR = _WS_GSSNEGOTIATE_AUTH;
if defined(SWIGRUBY)
%rename("auth_method?") is_auth_method(int method); %typemap(out) int is_auth_method "$result = ($1 != 0) ? Qtrue : Qfalse;";
endif
/* * Check if the passed method id is valid for authentication * * call-seq: * transport.auth_method?(Integer) -> Boolean * */ int is_auth_method(int method) { return wsman_is_auth_method((WsManClient *)$self, method); } /* * Close the transport. No further communication possible. * */ void close() { wsman_transport_close_transport((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("agent=") set_agent(const char *agent);
endif
/* * Set the HTTP agent identifier (User-agent:) string * * This is how the client will show up in the servers http log. * Defaults to "Openwsman" * * call-seq: * transport.agent = "Client identifier" * */ void set_agent(const char *agent) { wsman_transport_set_agent((WsManClient *)$self, agent); } %newobject agent; /* * Get the HTTP agent identifier string * * call-seq: * transport.agent -> String * */ char *agent() { return wsman_transport_get_agent ((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("username") get_username();
endif
%newobject get_username; /* * Server credentials * * Get the username part of the http transport credentials * * call-seq: * transport.username -> String * */ char *get_username() { return wsman_transport_get_userName((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("username=") set_username(char *user_name);
endif
/* * Server credentials * * Set the username part of the http transport credentials * * call-seq: * transport.username = "Username" * */ void set_username(char *user_name) { wsman_transport_set_userName((WsManClient *)$self, user_name); }
if defined(SWIGRUBY)
%rename("password") get_password();
endif
%newobject get_password; /* * Server credentials * * Get the password part of the http transport credentials * * call-seq: * transport.password -> String * */ char *get_password() { return wsman_transport_get_password((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("password=") set_password(char *password);
endif
/* * Server credentials * * Set the password part of the http transport credentials * * call-seq: * transport.password = "Password" * */ void set_password(char *password) { wsman_transport_set_password((WsManClient *)$self, password); }
if defined(SWIGRUBY)
%rename("proxy_username") get_proxy_username();
endif
%newobject get_proxy_username; /* * Windows clients: HTTP proxy credentials * * Get the username part of the http proxy credentials * * call-seq: * transport.proxy_username -> String * */ char *get_proxy_username() { return wsman_transport_get_proxy_username((WsManClient *)$self ); }
if defined(SWIGRUBY)
%rename("proxy_username=") set_proxy_username(char *proxy_username);
endif
/* * Windows clients: HTTP proxy credentials * * Set the username part of the http proxy credentials * * call-seq: * transport.proxy_username = "proxy_username" * */ void set_proxy_username(char *proxy_username) { wsman_transport_set_proxy_username((WsManClient *)$self, proxy_username ); }
if defined(SWIGRUBY)
%rename("proxy_password") get_proxy_password();
endif
%newobject get_proxy_password; /* * Windows clients: HTTP proxy credentials * * Get the password part of the http proxy credentials * * call-seq: * transport.proxy_password -> String * */ char *get_proxy_password() { return wsman_transport_get_proxy_password((WsManClient *)$self ); }
if defined(SWIGRUBY)
%rename("proxy_password=") set_proxy_password(char *proxy_password);
endif
/* * Windows clients: HTTP proxy credentials * * Set the password part of the http proxy credentials * * call-seq: * transport.proxy_password = "proxy_password" * */ void set_proxy_password(char *proxy_password) { wsman_transport_set_proxy_password((WsManClient *)$self, proxy_password ); }
if defined(SWIGRUBY)
%rename("auth_method=") set_auth_method( const char *am);
endif
/* * Set the authentication method * * Value must be one of: * * Openwsman::NO_AUTH_STR * * Openwsman::BASIC_AUTH_STR * * Openwsman::DIGEST_AUTH_STR * * Openwsman::PASS_AUTH_STR * * Openwsman::NTLM_AUTH_STR * * Openwsman::GSSNEGOTIATE_AUTH_STR * */ void set_auth_method(const char *am) { wsman_transport_set_auth_method((WsManClient *)$self, am); } %newobject auth_method; /* * Set the authentication method * * call-seq: * transport.auth_method -> String * */ char *auth_method() { return wsman_transport_get_auth_method ((WsManClient *)$self); } /* * Set the authentication method string corresponding to the given * auth method id * * Value must be one of: * * Openwsman::NO_AUTH * * Openwsman::BASIC_AUTH * * Openwsman::DIGEST_AUTH * * Openwsman::PASS_AUTH * * Openwsman::NTLM_AUTH * * Openwsman::GSSNEGOTIATE_AUTH * * call-seq: * transport.auth_name(Integer) -> String * */ static const char *auth_name(int auth) { return wsmc_transport_get_auth_name(auth); } /* * Get the authentication method integer id * */ int auth_value() { return wsmc_transport_get_auth_value((WsManClient *)$self); } /* * Get string corresponding to given error code * * call-seq: * transport.error_string(Integer) -> String * */ static char *error_string(int err) { return wsman_transport_get_last_error_string(err); }
if defined(SWIGRUBY)
%rename("timeout=") set_timeout(unsigned long timeout);
endif
/* * Set the transport timeout in seconds * * ====== Note * This is the http layer timeout. Not to be confused with the * WS-Management operation timeout set via Openwsman::ClientOptions.timeout * */ void set_timeout(unsigned long timeout) { wsman_transport_set_timeout((WsManClient *)$self, timeout); } /* * Get the transport timeout in seconds * * call-seq: * transport.timeout -> Integer * */ unsigned long timeout() { return wsman_transport_get_timeout((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("verify_peer=") set_verify_peer( VALUE rvalue ); /* * verify the peer in SSL communication ? * * If passed +false+, +nil+, or 0: disable peer verification * else: enable peer verification * */ void set_verify_peer( VALUE rvalue ) { unsigned int value; if ((rvalue == Qfalse) || (rvalue == Qnil)) { value = 0; } else if ((TYPE(rvalue) == T_FIXNUM) && (FIX2INT(rvalue) == 0)) { value = 0; } else { value = 1; }
else
/* * verify the peer in SSL communication ? * no: == 0 * yes: != 0 * */ void set_verify_peer( unsigned int value ) {
endif
wsman_transport_set_verify_peer((WsManClient *)$self, value); }
if defined(SWIGRUBY)
%rename("verify_peer?") verify_peer(); %typemap(out) unsigned int verify_peer "$result = ($1 != 0) ? Qtrue : Qfalse;";
endif
/* * Peer to be verified ? * * call-seq: * transport.verify_peer? -> Boolean * */ unsigned int verify_peer() { return wsman_transport_get_verify_peer((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("verify_host=") set_verify_host(VALUE rvalue); /* * verify the host in SSL communication ? * * If passed +false+, +nil+, or 0: disable peer verification * else: enable peer verification * */ void set_verify_host( VALUE rvalue ) { unsigned int value; if ((rvalue == Qfalse) || (rvalue == Qnil)) { value = 0; } else if ((TYPE(rvalue) == T_FIXNUM) && (FIX2INT(rvalue) == 0)) { value = 0; } else { value = 1; }
else
/* * verify the host in SSL communication ? * no: == 0 * yes: != 0 * */ void set_verify_host(unsigned int value) {
endif
wsman_transport_set_verify_host((WsManClient *)$self, value); }
if defined(SWIGRUBY)
%rename("verify_host?") verify_host(); %typemap(out) unsigned int verify_host "$result = ($1 != 0) ? Qtrue : Qfalse;";
endif
/* * Host to be verified ? * * call-seq: * transport.verify_host? -> Boolean * */ unsigned int verify_host() { return wsman_transport_get_verify_host((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("proxy=") set_proxy(const char *proxy);
endif
/* * Set http proxy URL * * Pass nil to disable proxy communication * * ====== Example * transport.proxy = "http://your.proxy.com:80" * */ void set_proxy(const char *proxy) { wsman_transport_set_proxy((WsManClient *)$self, proxy); } %newobject proxy; /* * Get http proxy URL * */ char *proxy() { return wsman_transport_get_proxy((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("proxyauth=") set_proxyauth(const char *pauth);
endif
/* * Linux clients: HTTP proxy credentials * * Set the proxy username and password * * ====== Example * transport.proxyauth = "username:password" * */ void set_proxyauth(const char *pauth) { wsman_transport_set_proxyauth((WsManClient *)$self, pauth); } %newobject proxyauth; /* * Linux clients: HTTP proxy credentials * * Get the proxy username and password as "username:password" * * call-seq: * transport.proxyauth -> String * */ char *proxyauth(){ return wsman_transport_get_proxyauth((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("cainfo=") set_cainfo(const char *cainfo);
endif
/* * Set the certification authority (CAINFO) * */ void set_cainfo(const char *cainfo) { wsman_transport_set_cainfo((WsManClient *)$self, cainfo); } %newobject cainfo; /* * Get the certification authority (CAINFO) * * call-seq: * transport.cainfo -> String * */ char *cainfo() { return wsman_transport_get_cainfo((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("certhumbprint=") set_certhumbprint(const char *arg);
endif
/* * Set the certification thumbprint * */ void set_certhumbprint(const char *arg) { wsman_transport_set_certhumbprint((WsManClient *)$self, arg); } %newobject certhumbprint; /* * Set the certification thumbprint * * call-seq: * transport.certhumbprint -> String * */ char *certhumbprint() { return wsman_transport_get_certhumbprint((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("capath=") set_capath(const char *capath);
endif
/* * Set the path to the certification authority (CAINFO) store * */ void set_capath(const char *capath) { wsman_transport_set_capath((WsManClient *)$self, capath); } %newobject capath; /* * Get the path to the certification authority (CAINFO) store * */ char *capath() { return wsman_transport_get_capath((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("caoid=") set_caoid(const char *oid);
endif
/* * Windows client * * Set the CA OID * * ====== Reference * http://support.microsoft.com/kb/287547 * */ void set_caoid(const char *oid) { wsman_transport_set_caoid((WsManClient *)$self, oid); } %newobject caoid; /* * Windows client * * Get the CA OID * */ char *caoid() { return wsman_transport_get_caoid((WsManClient *)$self); }
ifdef _WIN32 if defined(SWIGRUBY)
%rename("calocal=") set_calocal(BOOL local);
endif
/* * Windows client * * Use local CA ? * */ void set_calocal(BOOL local) { wsman_transport_set_calocal((WsManClient *)$self, local); } /* * Windows client * * Use local CA ? * * call-seq: * transport.calocal -> Boolean * */ BOOL calocal() { return wsman_transport_get_calocal((WsManClient *)$self); }
endif
if defined(SWIGRUBY)
%rename("cert=") set_cert(const char *cert);
endif
/* * Set the certificate * */ void set_cert(const char *cert) { wsman_transport_set_cert((WsManClient *)$self, cert); } %newobject cert; /* * Get the certificate * */ char *cert() { return wsman_transport_get_cert((WsManClient *)$self); }
if defined(SWIGRUBY)
%rename("key=") set_key(const char *key);
endif
/* * Set the key * */ void set_key(const char *key) { wsman_transport_set_key((WsManClient *)$self, key); } %newobject key; /* * Get the key * */ char *key() { return wsman_transport_get_key((WsManClient *)$self); }
}