ReflectedTest performs similar tasks for incoming objects.
In addition to the testStateRep() and tsr() functions, the class provides type-specific versions of the list management functions next(), prev(), wrapNext(), and wrapPrev(), and of the post update callback registration functions.
This class is derived from DtReflectedObject in refTest.h and refTest.cxx. The implementations of these functions are trivial, in most cases calling down to base class versions, and performing a cast between a specific and a general type.
#pragma once
#if DtHLA
class ReflectedTest;
typedef void (*TestCallbackFunction)(ReflectedTest* obj, void* userData);
{
public:
virtual ~ReflectedTest();
virtual TestStateRepository* testStateRep() const;
virtual TestStateRepository* tsr() const;
virtual ReflectedTest*
next()
const;
virtual ReflectedTest*
prev()
const;
virtual ReflectedTest*
wrapNext()
const;
virtual ReflectedTest*
wrapPrev()
const;
virtual void addPostUpdateCallback(
TestCallbackFunction cb, void* userData);
virtual void removePostUpdateCallback(
TestCallbackFunction cb, void* userData);
};
#endif
#if DtHLA
#include "testDec.h"
ReflectedTest::ReflectedTest(DtHlaObject* obj,
DtExerciseConn* conn) :
{
setHlaObject(obj, new TestDecoder(conn, &obj->classDesc()));
}
ReflectedTest::~ReflectedTest()
{
}
TestStateRepository* ReflectedTest::testStateRep() const
{
return (TestStateRepository*) myStateRep;
}
TestStateRepository* ReflectedTest::tsr() const
{
return (TestStateRepository*) myStateRep;
}
ReflectedTest* ReflectedTest::next() const
{
return (ReflectedTest*) nextObj();
}
ReflectedTest* ReflectedTest::prev() const
{
return (ReflectedTest*) prevObj();
}
ReflectedTest* ReflectedTest::wrapNext() const
{
return (ReflectedTest*) wrapNextObj();
}
ReflectedTest* ReflectedTest::wrapPrev() const
{
return (ReflectedTest*) wrapPrevObj();
}
void ReflectedTest::addPostUpdateCallback(
TestCallbackFunction cb, void* userData)
{
baseAddPostUpdateCallback(
}
void ReflectedTest::removePostUpdateCallback(
TestCallbackFunction cb, void* userData)
{
baseRemovePostUpdateCallback(
}
#endif