| | 33 | |
|---|
| | 34 | |
|---|
| | 35 | class SOAPStructStruct |
|---|
| | 36 | include SOAP::Marshallable |
|---|
| | 37 | |
|---|
| | 38 | attr_reader :varInt, :varFloat, :varString, :varStruct |
|---|
| | 39 | |
|---|
| | 40 | def initialize( varInt, varFloat, varString, varStruct = nil ) |
|---|
| | 41 | @varInt = varInt |
|---|
| | 42 | @varFloat = varFloat |
|---|
| | 43 | @varString = varString |
|---|
| | 44 | @varStruct = varStruct |
|---|
| | 45 | end |
|---|
| | 46 | |
|---|
| | 47 | def ==( rhs ) |
|---|
| | 48 | r = if rhs.is_a?( self.type ) |
|---|
| | 49 | ( self.varInt == rhs.varInt && |
|---|
| | 50 | self.varFloat == rhs.varFloat && |
|---|
| | 51 | self.varString == rhs.varString && |
|---|
| | 52 | self.varStruct == rhs.varStruct ) |
|---|
| | 53 | else |
|---|
| | 54 | false |
|---|
| | 55 | end |
|---|
| | 56 | r |
|---|
| | 57 | end |
|---|
| | 58 | |
|---|
| | 59 | def to_s |
|---|
| | 60 | "#{ varInt }:#{ varFloat }:#{ varString }:#{ varStruct }" |
|---|
| | 61 | end |
|---|
| | 62 | end |
|---|
| | 63 | |
|---|
| | 64 | |
|---|
| | 65 | class SOAPArrayStruct |
|---|
| | 66 | include SOAP::Marshallable |
|---|
| | 67 | |
|---|
| | 68 | attr_reader :varInt, :varFloat, :varString, :varArray |
|---|
| | 69 | |
|---|
| | 70 | def initialize( varInt, varFloat, varString, varArray = nil ) |
|---|
| | 71 | @varInt = varInt |
|---|
| | 72 | @varFloat = varFloat |
|---|
| | 73 | @varString = varString |
|---|
| | 74 | @varArray = varArray |
|---|
| | 75 | end |
|---|
| | 76 | |
|---|
| | 77 | def ==( rhs ) |
|---|
| | 78 | r = if rhs.is_a?( self.type ) |
|---|
| | 79 | ( self.varInt == rhs.varInt && |
|---|
| | 80 | self.varFloat == rhs.varFloat && |
|---|
| | 81 | self.varString == rhs.varString && |
|---|
| | 82 | self.varArray == rhs.varArray ) |
|---|
| | 83 | else |
|---|
| | 84 | false |
|---|
| | 85 | end |
|---|
| | 86 | r |
|---|
| | 87 | end |
|---|
| | 88 | |
|---|
| | 89 | def to_s |
|---|
| | 90 | "#{ varInt }:#{ varFloat }:#{ varString }:#{ varArray }" |
|---|
| | 91 | end |
|---|
| | 92 | end |
|---|
| | 93 | |
|---|
| | 94 | |
|---|
| | 95 | class StringArray < Array |
|---|
| | 96 | @typeName = XSD::StringLiteral |
|---|
| | 97 | @typeNamespace = XSD::Namespace |
|---|
| | 98 | end |
|---|
| | 99 | |
|---|
| | 100 | |
|---|
| | 101 | class IntArray < Array |
|---|
| | 102 | @typeName = XSD::IntLiteral |
|---|
| | 103 | @typeNamespace = XSD::Namespace |
|---|
| | 104 | end |
|---|
| | 105 | |
|---|
| | 106 | |
|---|
| | 107 | class FloatArray < Array |
|---|
| | 108 | @typeName = XSD::FloatLiteral |
|---|
| | 109 | @typeNamespace = XSD::Namespace |
|---|
| | 110 | end |
|---|
| | 111 | |
|---|
| | 112 | |
|---|
| | 113 | class SOAPStructArray < Array |
|---|
| | 114 | @typeName = 'SOAPStruct' |
|---|
| | 115 | @typeNamespace = TypeNS |
|---|
| | 116 | end |
|---|
| | 117 | |
|---|
| | 118 | |
|---|
| | 119 | MappingRegistry = SOAP::RPCUtils::MappingRegistry.new |
|---|
| | 120 | MappingRegistry.set( ::SOAPStruct, ::SOAP::SOAPStruct, SOAP::RPCUtils::MappingRegistry::TypedStructFactory, [ TypeNS, "SOAPStruct" ] ) |
|---|
| | 121 | MappingRegistry.set( ::SOAPStructStruct, ::SOAP::SOAPStruct, SOAP::RPCUtils::MappingRegistry::TypedStructFactory, [ TypeNS, "SOAPStructStruct" ] ) |
|---|
| | 122 | MappingRegistry.set( ::SOAPArrayStruct, ::SOAP::SOAPStruct, SOAP::RPCUtils::MappingRegistry::TypedStructFactory, [ TypeNS, "SOAPArrayStruct" ] ) |
|---|