diff options
author | Mark Spruiell <mes@zeroc.com> | 2014-08-07 16:08:30 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2014-08-07 16:08:30 -0700 |
commit | 9c4b185a6c83418caa5296f07ec1f08e4964867e (patch) | |
tree | dee966c65c144f20e02583110fac6569fe7680bc /cpp/src/slice2freezej/Main.cpp | |
parent | fix hello demo configuration unintended change (diff) | |
download | ice-9c4b185a6c83418caa5296f07ec1f08e4964867e.tar.bz2 ice-9c4b185a6c83418caa5296f07ec1f08e4964867e.tar.xz ice-9c4b185a6c83418caa5296f07ec1f08e4964867e.zip |
ICE-5311 - use ByteBuffer in Freeze maps
Diffstat (limited to 'cpp/src/slice2freezej/Main.cpp')
-rw-r--r-- | cpp/src/slice2freezej/Main.cpp | 49 |
1 files changed, 13 insertions, 36 deletions
diff --git a/cpp/src/slice2freezej/Main.cpp b/cpp/src/slice2freezej/Main.cpp index 07f2d0eecee..a81cd47c0f2 100644 --- a/cpp/src/slice2freezej/Main.cpp +++ b/cpp/src/slice2freezej/Main.cpp @@ -898,11 +898,9 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // // encode // - out << sp << nl << "public byte[]" << nl << "encode" << keyValue << "(" << typeS - << " v, Ice.Communicator communicator, Ice.EncodingVersion encoding)"; + out << sp << nl << "public void" << nl << "encode" << keyValue << "(" << typeS + << " v, IceInternal.BasicStream __os)"; out << sb; - out << nl << "IceInternal.BasicStream __os = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, true, false);"; if(encaps) { out << nl << "__os.startWriteEncaps();"; @@ -917,20 +915,13 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) { out << nl << "__os.endWriteEncaps();"; } - out << nl << "IceInternal.Buffer __buf = __os.prepareWrite();"; - out << nl << "byte[] __r = new byte[__buf.size()];"; - out << nl << "__buf.b.get(__r);"; - out << nl << "return __r;"; out << eb; // // decode // - out << sp << nl << "public " << typeS << nl << "decode" << keyValue - << "(byte[] b, Ice.Communicator communicator, Ice.EncodingVersion encoding)"; + out << sp << nl << "public " << typeS << nl << "decode" << keyValue << "(IceInternal.BasicStream __is)"; out << sb; - out << nl << "IceInternal.BasicStream __is = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, b);"; if(type->usesClasses()) { out << nl << "__is.sliceObjects(false);"; @@ -1041,9 +1032,8 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // // encodeKey // - out << sp << nl << "public byte[]"; - out << nl << "encodeKey(" << indexKeyTypeS << " key, Ice.Communicator communicator, " - << "Ice.EncodingVersion encoding)"; + out << sp << nl << "public void"; + out << nl << "encodeKey(" << indexKeyTypeS << " key, IceInternal.BasicStream __os)"; out << sb; if(dict.indices[i].member.empty()) { @@ -1056,7 +1046,7 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) keyS = "key.toLowerCase()"; } - out << nl << "return encodeValue(" << keyS << ", communicator, encoding);"; + out << nl << "encodeValue(" << keyS << ", __os);"; } else { @@ -1067,16 +1057,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), encoding, true, false);"; int iter = 0; writeMarshalUnmarshalCode(out, "", indexTypes[i], OptionalNone, false, 0, keyS, true, iter, false); assert(!indexTypes[i]->usesClasses()); - - out << nl << "IceInternal.Buffer buf = __os.prepareWrite();"; - out << nl << "byte[] r = new byte[buf.size()];"; - out << nl << "buf.b.get(r);"; - out << nl << "return r;"; } out << eb; @@ -1084,20 +1067,17 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // decodeKey // out << sp << nl << "public " << indexKeyTypeS; - out << nl << "decodeKey(byte[] bytes, Ice.Communicator communicator, Ice.EncodingVersion encoding)"; + out << nl << "decodeKey(IceInternal.BasicStream __is)"; out << sb; if(dict.indices[i].member.empty()) { // // Decode the full value (with an encaps!) // - out << nl << "return decodeValue(bytes, communicator, encoding);"; + out << nl << "return decodeValue(__is);"; } else { - out << nl << "IceInternal.BasicStream __is = " - << "new IceInternal.BasicStream(IceInternal.Util.getInstance(communicator), encoding, bytes);"; - int iter = 0; list<string> metaData; string patchParams; @@ -1197,8 +1177,8 @@ FreezeGenerator::generate(UnitPtr& u, const Dict& dict) // if(dict.indices[i].member.empty() && dict.indices[i].caseSensitive) { - out << sp << nl << "protected byte[]"; - out << nl << "marshalKey(byte[] value)"; + out << sp << nl << "protected java.nio.ByteBuffer"; + out << nl << "marshalKey(java.nio.ByteBuffer value)"; out << sb; out << nl << "return value;"; out << eb; @@ -1383,7 +1363,7 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index) // string typeString = typeToString(type, TypeModeIn); - out << sp << nl << "protected byte[]" << nl + out << sp << nl << "protected java.nio.ByteBuffer" << nl << "marshalKey(Ice.Object __servant)"; out << sb; out << nl << "if(__servant instanceof " << typeString << ")"; @@ -1399,7 +1379,7 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index) string valueS = index.caseSensitive ? "__key" : "__key.toLowerCase()"; - out << sp << nl << "private byte[]" << nl + out << sp << nl << "private java.nio.ByteBuffer" << nl << "marshalKey(" << memberTypeString << " __key)"; out << sb; out << nl << "IceInternal.BasicStream __os = " @@ -1410,10 +1390,7 @@ FreezeGenerator::generate(UnitPtr& u, const Index& index) { out << nl << "__os.writePendingObjects();"; } - out << nl << "IceInternal.Buffer __buf = __os.prepareWrite();"; - out << nl << "byte[] __r = new byte[__buf.size()];"; - out << nl << "__buf.b.get(__r);"; - out << nl << "return __r;"; + out << nl << "return __os.prepareWrite().b;"; out << eb; out << eb; |