summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/OpaqueEndpointI.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2009-10-12 15:36:49 +0200
committerBenoit Foucher <benoit@zeroc.com>2009-10-12 15:36:49 +0200
commit002001e0b3815445f44d3cff81d84f3b0d4e7aa4 (patch)
tree01a8af981b60c08e2a847b6ebb19c7f547fa2610 /cpp/src/Ice/OpaqueEndpointI.cpp
parentAdded ConnectionInfo/EndpointInfo, bug 4280 & 3964 (diff)
downloadice-002001e0b3815445f44d3cff81d84f3b0d4e7aa4.tar.bz2
ice-002001e0b3815445f44d3cff81d84f3b0d4e7aa4.tar.xz
ice-002001e0b3815445f44d3cff81d84f3b0d4e7aa4.zip
Fixed bug 4266 - stringified proxy issues, other minor issues
Diffstat (limited to 'cpp/src/Ice/OpaqueEndpointI.cpp')
-rw-r--r--cpp/src/Ice/OpaqueEndpointI.cpp63
1 files changed, 37 insertions, 26 deletions
diff --git a/cpp/src/Ice/OpaqueEndpointI.cpp b/cpp/src/Ice/OpaqueEndpointI.cpp
index 3fc6d7b913c..19c033881e7 100644
--- a/cpp/src/Ice/OpaqueEndpointI.cpp
+++ b/cpp/src/Ice/OpaqueEndpointI.cpp
@@ -144,40 +144,51 @@ IceInternal::OpaqueEndpointI::toString() const
return s.str();
}
-Ice::EndpointInfoPtr
-IceInternal::OpaqueEndpointI::getInfo() const
+namespace
{
- class InfoI : public Ice::OpaqueEndpointInfo
- {
- public:
- InfoI(Ice::Short type, Ice::ByteSeq rawByes) : OpaqueEndpointInfo(-1, false, rawBytes), _type(type)
- {
- }
+class InfoI : public Ice::OpaqueEndpointInfo
+{
+public:
+
+ InfoI(Ice::Short type, const Ice::ByteSeq& rawByes);
- virtual Ice::Short
- type() const
- {
- return _type;
- }
+ virtual Ice::Short
+ type() const
+ {
+ return _type;
+ }
- virtual bool
- datagram() const
- {
- return false;
- }
+ virtual bool
+ datagram() const
+ {
+ return false;
+ }
+
+ virtual bool
+ secure() const
+ {
+ return false;
+ }
+
+private:
+
+ Ice::Short _type;
+};
- virtual bool
- secure() const
- {
- return false;
- }
- private:
+//
+// COMPILERFIX: inlining this constructor causes crashes with gcc 4.0.1.
+//
+InfoI::InfoI(Ice::Short type, const Ice::ByteSeq& rawBytes) : Ice::OpaqueEndpointInfo(-1, false, rawBytes), _type(type)
+{
+}
- Ice::Short _type;
- };
+}
+Ice::EndpointInfoPtr
+IceInternal::OpaqueEndpointI::getInfo() const
+{
return new InfoI(_type, _rawBytes);
}