Quintiq file version 2.0
|
#parent: #root
|
Method SendDataRequestSetBulkTransmission (LibDEF_Systems targets_i, LibDEF_Set set_i, Boolean isNewSet_i,
|
NamedValueTree cachedSetNvt_i)
|
{
|
Description: 'Send a Data-Request message of that Set which has been updated in DataRepository in bulk (non-chunked tranmission).'
|
TextBody:
|
[*
|
nvt := LibDEF_DataAccessor::CreateMessageData();
|
|
headerType := ifexpr( isNewSet_i,
|
LibDEF_DataAccessor::TYPE_DATA_SETCREATED(),
|
LibDEF_DataAccessor::TYPE_DATA_SETUPDATED() );
|
|
// define Type and required Header
|
LibDEF_DataAccessor::SetDataHeaderProperty( nvt, LibDEF_DataAccessor::HEADER_TYPE(), headerType );
|
LibDEF_DataAccessor::SetDataHeaderProperty( nvt, LibDEF_DataAccessor::HEADER_SETGUID(), set_i.GUID() );
|
LibDEF_DataAccessor::SetDataHeaderProperty( nvt, LibDEF_DataAccessor::HEADER_SETLASTUPDATED(), set_i.LastUpdated() );
|
|
// Fill in the data body of the NVT message with the Set (either with the given cached Set NVT or export a new NVT from the Set).
|
// To save performance cost on exporting the set, a cached Set NVT can be given by the caller method
|
// so we don't need to do the NVTIO::Export anymore.
|
if( not isnull( cachedSetNvt_i ) )
|
{
|
LibDEF_DataAccessor::SetDataBody( nvt, cachedSetNvt_i );
|
}
|
else
|
{
|
LibDEF_DataAccessor::SetDataBody( nvt, NamedValueTreeIO::Export( set_i ) );
|
}
|
|
// some local variables
|
channel := set_i.SetType().Channel();
|
dataBroker := this.DataBroker();
|
|
traverse( targets_i, Elements, target )
|
{
|
event := dataBroker.EventCreate( target, false );
|
LibDEF_Util::EventLog( event, "Sending " + headerType + " request to system '" + target.Name() + "'" );
|
|
dataBroker.SendData( target, nvt, LibDEF_DataAccessor::KIND_REQUEST(), event,
|
channel.Name(), channel.MajorVersion(), channel.MinorVersion() );
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|