private static void UnmarshallResult(XmlUnmarshallerContext context, GetBucketInventoryConfigurationResponse response)
{
int originalDepth = context.CurrentDepth;
int targetDepth = originalDepth + 1;
if (context.IsStartOfDocument)
targetDepth += 2;
response.InventoryConfiguration = new InventoryConfiguration();
while (context.Read())
{
if (context.IsStartElement || context.IsAttribute)
{
if (context.TestExpression("Destination", targetDepth))
{
response.InventoryConfiguration.Destination = InventoryDestinationUnmarshaller.Instance.Unmarshall(context);
continue;
}
if (context.TestExpression("IsEnabled", targetDepth))
{
response.InventoryConfiguration.IsEnabled = BoolUnmarshaller.Instance.Unmarshall(context);
continue;
}
if (context.TestExpression("Filter", targetDepth))
{
response.InventoryConfiguration.InventoryFilter = InventoryFilterUnmarshaller.Instance.Unmarshall(context);
continue;
}
if (context.TestExpression("Id", targetDepth))
{
response.InventoryConfiguration.InventoryId = StringUnmarshaller.Instance.Unmarshall(context);
continue;
}
if (context.TestExpression("IncludedObjectVersions", targetDepth))
{
response.InventoryConfiguration.IncludedObjectVersions = StringUnmarshaller.Instance.Unmarshall(context);
continue;
}
if (context.TestExpression("Field", targetDepth + 1))
{
response.InventoryConfiguration.InventoryOptionalFields.Add(StringUnmarshaller.Instance.Unmarshall(context));
continue;
}
if (context.TestExpression("Schedule", targetDepth))
{
response.InventoryConfiguration.Schedule = InventoryScheduleUnmarshaller.Instance.Unmarshall(context);
continue;
}
}
else if (context.IsEndElement && context.CurrentDepth < originalDepth)
{
return;
}
}
return;
}