#include <vlutil/vlExceptions.h>
#include <vlutil/vlMiniDumper.h>
#include <vlutil/vlFilename.h>
#include <vlutil/vlLogFileInfo.h>
#include <iostream>
int main( int argc, char* argv[] )
{
try
{
using namespace MAKVrExchange;
using namespace MAKVrExchange::DtDisBroker;
DtFilename exeName(argv[0]);
exeName.stripPath();
exeName.stripExtension();
DtLogFileInfo::instance().setAppName(exeName.c_str());
DtLogFileInfo::instance().setProtocol(DT_PROTOCOL_SHORT_NAME);
#ifdef SVN_REV
DtLogFileInfo::instance().setSvnRev(SVN_REV);
#endif
DtINIT_MINIDUMPER(DtLogFileInfo::instance().getFullString().c_str());
DtInfo << "Starting Modified DIS Broker Example" << std::endl;
disInit->parseCmdLine();
brokerApp->run( disInit->showConnectionInfoDialog() );
DtDELETE( brokerApp );
}
DtCATCH_AND_WARN( std::cout )
return 0;
}
#include <vl/exerciseConn.h>
#include <vl/setDataInteraction.h>
using namespace MAKVrExchange;
: ParentClass( broker, translatorName(),
{
DtInfo << "In Constructor for Modified SetDataInteraction Translator!" << std::endl;
}
{
}
{
DtSetDataInteraction::addCallback(
}
{
DtPortalSetDataInteraction::addCallback(
}
{
DtSetDataInteraction::removeCallback(
}
{
DtPortalSetDataInteraction::removeCallback(
}
{
DtSetDataInteraction outgoing;
{
}
}
const DtSetDataInteraction& incoming )
{
{
}
}
DtSetDataInteraction *interaction, void *userSetData )
{
}
{
}
const DtSetDataInteraction& source )
{
destination->setOriginatingEntity(
disBroker()->convertGlobalId( source.senderId() ));
destination->setReceivingEntity(
disBroker()->convertGlobalId( source.receiverId() ));
destination->setRequestIdentifier( source.requestId() );
{
fixedDatums->resize( source.numFixedFields() );
DtFixedLengthDataArray::iterator pos = fixedDatums->begin();
for ( int index = 1; pos != fixedDatums->end(); ++pos, ++index )
{
(*pos).setId( source.fixedDatumId( index ));
DtDatumRetCode returnCode = DtDatumBadLength;
DtU32 fixedValue = source.datumValUnsigned32( DtFixed, index, &returnCode );
if (returnCode == DtDatumValid)
{
(*pos).setValue( fixedValue );
}
}
}
{
variableDatumSet->resize( source.numVarFields() );
DtAttributeValuePairList::iterator pos = variableDatumSet->begin();
for ( int index = 1; pos != variableDatumSet->end(); ++pos, ++index )
{
(*pos).first =
DtString( source.varDatumId( index ));
(*pos).second.setData( source.datumValByteArray( DtVar, index ),
source.datumSizeBytes( DtVar, index ));
}
}
return destination;
}
DtSetDataInteraction* destination,
{
destination->setSenderId(
disBroker()->convertGlobalId( source.originatingEntity() ));
destination->setReceiverId(
disBroker()->convertGlobalId( source.receivingEntity() ));
destination->setRequestId( source.requestIdentifier() );
{
destination->setNumFixedFields( (int)source.fixedDatums().size() );
DtFixedLengthDataArray::const_iterator pos = source.fixedDatums().begin();
for (int index = 1; pos != source.fixedDatums().end(); ++pos, ++index)
{
DtDatumRetCode returnCode = DtDatumBadLength;
DtDatumParam id = (DtDatumParam)(*pos).id();
destination->setDatumParam( DtFixed, index, id, &returnCode );
if (returnCode == DtDatumValid)
{
DtU32 value = (*pos).value();
destination->setDatumValUnsigned32( DtFixed, index, value, &returnCode );
}
}
}
{
destination->setNumVarFields( (int)source.variableDatumSet().size() );
DtAttributeValuePairList::const_iterator pos = source.variableDatumSet().begin();
for (int index = 1; pos != source.variableDatumSet().end(); ++pos, ++index)
{
DtDatumRetCode returnCode = DtDatumBadLength;
DtDatumParam varDatumId = (DtDatumParam)atol( (*pos).first );
destination->setDatumParam( DtVar, index, varDatumId, &returnCode );
if (returnCode == DtDatumValid)
{
int length = (*pos).second.size();
destination->setVarDataBytes( index, length, &returnCode );
const char* value = (*pos).second.data();
destination->setDatumValByteArray( DtVar, index, value, &returnCode );
}
}
}
return destination;
}