summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/objects/TestI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/objects/TestI.cpp')
-rw-r--r--cpp/test/Ice/objects/TestI.cpp42
1 files changed, 41 insertions, 1 deletions
diff --git a/cpp/test/Ice/objects/TestI.cpp b/cpp/test/Ice/objects/TestI.cpp
index 194e3917737..567a5bface1 100644
--- a/cpp/test/Ice/objects/TestI.cpp
+++ b/cpp/test/Ice/objects/TestI.cpp
@@ -81,12 +81,40 @@ DI::ice_postUnmarshal()
_postUnmarshalInvoked = true;
}
+EI::EI() :
+ E(1, "hello")
+{
+}
+
+bool
+EI::checkValues(const Ice::Current&)
+{
+ return i == 1 && s == "hello";
+}
+
+FI::FI()
+{
+}
+
+FI::FI(const EPtr& e) :
+ F(e, e)
+{
+}
+
+bool
+FI::checkValues(const Ice::Current&)
+{
+ return e1 && e1 == e2;
+}
+
InitialI::InitialI(const Ice::ObjectAdapterPtr& adapter) :
_adapter(adapter),
_b1(new BI),
_b2(new BI),
_c(new CI),
- _d(new DI)
+ _d(new DI),
+ _e(new EI),
+ _f(new FI(_e))
{
_b1->theA = _b2; // Cyclic reference to another B
_b1->theB = _b1; // Self reference.
@@ -146,6 +174,18 @@ InitialI::getD(const Ice::Current&)
return _d;
}
+EPtr
+InitialI::getE(const Ice::Current&)
+{
+ return _e;
+}
+
+FPtr
+InitialI::getF(const Ice::Current&)
+{
+ return _f;
+}
+
void
InitialI::getAll(BPtr& b1, BPtr& b2, CPtr& c, DPtr& d, const Ice::Current&)
{