--- a/src/core/callback-test.cc Mon Oct 15 12:58:53 2007 +0200
+++ b/src/core/callback-test.cc Mon Oct 15 16:17:15 2007 +0200
@@ -72,7 +72,20 @@
void TestFRFive (int &, int &, int &, int &, int &) {}
void TestFRSix (int &, int &, int &, int &, int &, int &) {}
-class CallbackTest : public ns3::Test {
+class X : public ns3::Test
+{
+public:
+ X () : Test ("Callback") {}
+ void PublicParent (void) {}
+protected:
+ static void StaticProtectedParent (void) {}
+ void ProtectedParent (void) {}
+private:
+ void PrivateParent (void) {}
+};
+
+class CallbackTest : public X
+{
private:
bool m_test1;
bool m_test2;
@@ -107,8 +120,7 @@
};
CallbackTest::CallbackTest ()
- : ns3::Test ("Callback"),
- m_test1 (false),
+ : m_test1 (false),
m_test2 (false),
m_test3 (false),
m_test4 (false)
@@ -294,6 +306,14 @@
MakeBoundCallback (&TestFRFive, 1);
+ MakeCallback (&X::StaticProtectedParent);
+ MakeCallback (&X::PublicParent, this);
+ MakeCallback (&CallbackTest::ProtectedParent, this);
+ // as expected, fails.
+ //MakeCallback (&X::PrivateParent, this);
+ // unexpected, but fails too.
+ // It does fumble me.
+ //MakeCallback (&X::ProtectedParent, this);
return ok;
}