diff options
author | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-16 18:49:26 +0900 |
---|---|---|
committer | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-30 00:39:06 +0900 |
commit | fcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch) | |
tree | 64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/lib/xmlrpc/marshal.rb |
Fresh start
Diffstat (limited to 'jni/ruby/lib/xmlrpc/marshal.rb')
-rw-r--r-- | jni/ruby/lib/xmlrpc/marshal.rb | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/jni/ruby/lib/xmlrpc/marshal.rb b/jni/ruby/lib/xmlrpc/marshal.rb new file mode 100644 index 0000000..f07fd46 --- /dev/null +++ b/jni/ruby/lib/xmlrpc/marshal.rb @@ -0,0 +1,66 @@ +# +# Copyright (C) 2001, 2002, 2003 by Michael Neumann (mneumann@ntecs.de) +# +# $Id: marshal.rb 36958 2012-09-13 02:22:10Z zzak $ +# + +require "xmlrpc/parser" +require "xmlrpc/create" +require "xmlrpc/config" +require "xmlrpc/utils" + +module XMLRPC # :nodoc: + + # Marshalling of XMLRPC::Create#methodCall and XMLRPC::Create#methodResponse + class Marshal + include ParserWriterChooseMixin + + class << self + + def dump_call( methodName, *params ) + new.dump_call( methodName, *params ) + end + + def dump_response( param ) + new.dump_response( param ) + end + + def load_call( stringOrReadable ) + new.load_call( stringOrReadable ) + end + + def load_response( stringOrReadable ) + new.load_response( stringOrReadable ) + end + + alias dump dump_response + alias load load_response + + end # class self + + def initialize( parser = nil, writer = nil ) + set_parser( parser ) + set_writer( writer ) + end + + def dump_call( methodName, *params ) + create.methodCall( methodName, *params ) + end + + def dump_response( param ) + create.methodResponse( ! param.kind_of?( XMLRPC::FaultException ) , param ) + end + + # Returns <code>[ methodname, params ]</code> + def load_call( stringOrReadable ) + parser.parseMethodCall( stringOrReadable ) + end + + # Returns +paramOrFault+ + def load_response( stringOrReadable ) + parser.parseMethodResponse( stringOrReadable )[1] + end + + end # class Marshal + +end |