We derive TestPublisher from DtObjectPublisher in testPub.h and testPub.cxx.
As you can see, this class just configures its base class properly in its constructor, and provides type safety in accessing its state repository.
#pragma once
#if DtHLA
{
public:
virtual ~TestPublisher();
virtual TestStateRepository* testStateRep();
virtual TestStateRepository* tsr();
};
#endif
#if DtHLA
#include "testEnc.h"
#include "testDec.h"
TestPublisher::TestPublisher(
conn, new TestStateRepository(), new TestStateRepository())
{
const char* className = "Test";
DtObjClassDesc* desc = conn->fom()->objClassByName(className);
setHlaObject(className, new TestEncoder(conn, desc),
new TestDecoder(conn, desc), objName);
}
TestPublisher::~TestPublisher()
{
}
TestStateRepository* TestPublisher::testStateRep()
{
return (TestStateRepository*) stateRep();
}
TestStateRepository* TestPublisher::tsr()
{
return (TestStateRepository*) stateRep();
}
#endif