public override object[] GetContextConstructorArguments(IConnectionInfo cxInfo)
{
var playback = new Playback();
var bondInEtwProperties = new BondInEtwProperties(cxInfo);
try
{
var bondTypemap = new EnvelopeTypeMap();
var typeMaps = TypeFinder
.LoadTypeMaps(TypeCache.ResolveCacheDirectory(bondInEtwProperties.ContextName))
.Where(i => i != typeof(EnvelopeTypeMap))
.Select(Activator.CreateInstance)
.OfType<ITypeMap<IEnvelope>>()
.Concat(new[] { bondTypemap })
.ToArray();
foreach (var file in bondInEtwProperties.Files)
{
var file1 = file;
((IPlaybackConfiguration)playback).AddInput(
() => BinaryEtwObservable.FromFiles(file1),
typeMaps);
}
Thread.SetData(LocalDataStoreSlot, playback);
return new object[] { playback };
}
catch (Exception error)
{
MessageBox.Show(error.Message, "Error compiling generated code.");
}
return new object[0];
}