diff options
Diffstat (limited to 'cpp/src/slice2freezej/Main.cpp')
-rwxr-xr-x | cpp/src/slice2freezej/Main.cpp | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/cpp/src/slice2freezej/Main.cpp b/cpp/src/slice2freezej/Main.cpp index af0cc705214..9f85a9f5536 100755 --- a/cpp/src/slice2freezej/Main.cpp +++ b/cpp/src/slice2freezej/Main.cpp @@ -894,16 +894,16 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // encode // out << sp << nl << "public byte[]" << nl << "encode" << keyValue << "(" << typeS - << " v, Ice.Communicator communicator)"; + << " v, Ice.Communicator communicator, Ice.EncodingVersion encoding)"; out << sb; out << nl << "IceInternal.BasicStream __os = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), true, false);"; + << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, true, false);"; if(encaps) { out << nl << "__os.startWriteEncaps();"; } iter = 0; - writeMarshalUnmarshalCode(out, "", type, valS, true, iter, false); + writeMarshalUnmarshalCode(out, "", type, OptionalNone, false, 0, valS, true, iter, false); if(type->usesClasses()) { out << nl << "__os.writePendingObjects();"; @@ -922,10 +922,10 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // decode // out << sp << nl << "public " << typeS << nl << "decode" << keyValue - << "(byte[] b, Ice.Communicator communicator)"; + << "(byte[] b, Ice.Communicator communicator, Ice.EncodingVersion encoding)"; out << sb; out << nl << "IceInternal.BasicStream __is = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), true, false);"; + << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, true, false);"; if(type->usesClasses()) { out << nl << "__is.sliceObjects(false);"; @@ -996,14 +996,16 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) case Builtin::KindObjectProxy: case Builtin::KindLocalObject: { - writeMarshalUnmarshalCode(out, "", type, "__r", false, iter, false, metaData, patchParams); + writeMarshalUnmarshalCode(out, "", type, OptionalNone, false, 0, "__r", false, iter, false, metaData, + patchParams); break; } } } else { - writeMarshalUnmarshalCode(out, "", type, "__r", false, iter, false, metaData, patchParams); + writeMarshalUnmarshalCode(out, "", type, OptionalNone, false, 0, "__r", false, iter, false, metaData, + patchParams); } if(type->usesClasses()) { @@ -1040,7 +1042,8 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // encodeKey // out << sp << nl << "public byte[]"; - out << nl << "encodeKey(" << indexKeyTypeS << " key, Ice.Communicator communicator)"; + out << nl << "encodeKey(" << indexKeyTypeS << " key, Ice.Communicator communicator, " + << "Ice.EncodingVersion encoding)"; out << sb; if(dict.indices[i].member.empty()) { @@ -1053,7 +1056,7 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) keyS = "key.toLowerCase()"; } - out << nl << "return encodeValue(" << keyS << ", communicator);"; + out << nl << "return encodeValue(" << keyS << ", communicator, encoding);"; } else { @@ -1065,9 +1068,9 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) keyS = objectToVar(indexTypes[i], keyS); out << nl << "IceInternal.BasicStream __os = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), true, false);"; + << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, true, false);"; int iter = 0; - writeMarshalUnmarshalCode(out, "", indexTypes[i], keyS, true, iter, false); + writeMarshalUnmarshalCode(out, "", indexTypes[i], OptionalNone, false, 0, keyS, true, iter, false); assert(!indexTypes[i]->usesClasses()); out << nl << "IceInternal.Buffer buf = __os.prepareWrite();"; @@ -1081,19 +1084,19 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // decodeKey // out << sp << nl << "public " << indexKeyTypeS; - out << nl << "decodeKey(byte[] bytes, Ice.Communicator communicator)"; + out << nl << "decodeKey(byte[] bytes, Ice.Communicator communicator, Ice.EncodingVersion encoding)"; out << sb; if(dict.indices[i].member.empty()) { // // Decode the full value (with an encaps!) // - out << nl << "return decodeValue(bytes, communicator);"; + out << nl << "return decodeValue(bytes, communicator, encoding);"; } else { out << nl << "IceInternal.BasicStream __is = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), true, false);"; + << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, true, false);"; out << nl << "__is.resize(bytes.length, true);"; out << nl << "IceInternal.Buffer buf = __is.getBuffer();"; out << nl << "buf.b.position(0);"; @@ -1151,14 +1154,16 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) case Builtin::KindObjectProxy: case Builtin::KindLocalObject: { - writeMarshalUnmarshalCode(out, "", indexTypes[i], "r", false, iter, false, metaData, patchParams); + writeMarshalUnmarshalCode(out, "", indexTypes[i], OptionalNone, false, 0, "r", false, iter, false, + metaData, patchParams); break; } } } else { - writeMarshalUnmarshalCode(out, "", indexTypes[i], "r", false, iter, false, metaData, patchParams); + writeMarshalUnmarshalCode(out, "", indexTypes[i], OptionalNone, false, 0, "r", false, iter, false, + metaData, patchParams); } out << nl << "return r;"; } @@ -1403,9 +1408,9 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index) << "marshalKey(" << memberTypeString << " __key)"; out << sb; out << nl << "IceInternal.BasicStream __os = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator()), true, false);"; + << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator()), encoding(), true, false);"; int iter = 0; - writeMarshalUnmarshalCode(out, "", dataMember->type(), valueS, true, iter, false); + writeMarshalUnmarshalCode(out, "", dataMember->type(), OptionalNone, false, 0, valueS, true, iter, false); if(type->usesClasses()) { out << nl << "__os.writePendingObjects();"; |