From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/lib/xmlrpc/marshal.rb | 66 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 jni/ruby/lib/xmlrpc/marshal.rb (limited to 'jni/ruby/lib/xmlrpc/marshal.rb') 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 [ methodname, params ] + def load_call( stringOrReadable ) + parser.parseMethodCall( stringOrReadable ) + end + + # Returns +paramOrFault+ + def load_response( stringOrReadable ) + parser.parseMethodResponse( stringOrReadable )[1] + end + + end # class Marshal + +end -- cgit v1.2.3