Returns information about the GetTrailStatus response and response metadata.
Inheritance: GetTrailStatusResult
 public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
 {
   GetTrailStatusResponse response = new GetTrailStatusResponse();          
   
   context.Read();
   
   UnmarshallResult(context,response);
   return response;
 }
       public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
       {
           GetTrailStatusResponse response = new GetTrailStatusResponse();       
         
           context.Read();
           int targetDepth = context.CurrentDepth;
           while (context.ReadAtDepth(targetDepth))
           {
             
             if (context.TestExpression("IsLogging", targetDepth))
             {
               response.IsLogging = BoolUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestDeliveryError", targetDepth))
             {
               response.LatestDeliveryError = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestNotificationError", targetDepth))
             {
               response.LatestNotificationError = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestDeliveryTime", targetDepth))
             {
               response.LatestDeliveryTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestNotificationTime", targetDepth))
             {
               response.LatestNotificationTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("StartLoggingTime", targetDepth))
             {
               response.StartLoggingTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("StopLoggingTime", targetDepth))
             {
               response.StopLoggingTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
           }
                       
           return response;
       }                        
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>  
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            GetTrailStatusResponse response = new GetTrailStatusResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;
            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("IsLogging", targetDepth))
                {
                    var unmarshaller = BoolUnmarshaller.Instance;
                    response.IsLogging = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestCloudWatchLogsDeliveryError", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestCloudWatchLogsDeliveryError = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestCloudWatchLogsDeliveryTime", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.LatestCloudWatchLogsDeliveryTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestDeliveryAttemptSucceeded", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestDeliveryAttemptSucceeded = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestDeliveryAttemptTime", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestDeliveryAttemptTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestDeliveryError", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestDeliveryError = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestDeliveryTime", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.LatestDeliveryTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestDigestDeliveryError", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestDigestDeliveryError = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestDigestDeliveryTime", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.LatestDigestDeliveryTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestNotificationAttemptSucceeded", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestNotificationAttemptSucceeded = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestNotificationAttemptTime", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestNotificationAttemptTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestNotificationError", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.LatestNotificationError = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("LatestNotificationTime", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.LatestNotificationTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("StartLoggingTime", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.StartLoggingTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("StopLoggingTime", targetDepth))
                {
                    var unmarshaller = DateTimeUnmarshaller.Instance;
                    response.StopLoggingTime = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("TimeLoggingStarted", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.TimeLoggingStarted = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("TimeLoggingStopped", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.TimeLoggingStopped = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return response;
        }
       private static void UnmarshallResult(JsonUnmarshallerContext context,GetTrailStatusResponse response)
       {
         
           int originalDepth = context.CurrentDepth;
           int targetDepth = originalDepth + 1;
           while (context.Read())
           {
             
             if (context.TestExpression("IsLogging", targetDepth))
             {
               context.Read();
               response.IsLogging = BoolUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestDeliveryError", targetDepth))
             {
               context.Read();
               response.LatestDeliveryError = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestNotificationError", targetDepth))
             {
               context.Read();
               response.LatestNotificationError = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestDeliveryTime", targetDepth))
             {
               context.Read();
               response.LatestDeliveryTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestNotificationTime", targetDepth))
             {
               context.Read();
               response.LatestNotificationTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("StartLoggingTime", targetDepth))
             {
               context.Read();
               response.StartLoggingTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("StopLoggingTime", targetDepth))
             {
               context.Read();
               response.StopLoggingTime = DateTimeUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestDeliveryAttemptTime", targetDepth))
             {
               context.Read();
               response.LatestDeliveryAttemptTime = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestNotificationAttemptTime", targetDepth))
             {
               context.Read();
               response.LatestNotificationAttemptTime = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestNotificationAttemptSucceeded", targetDepth))
             {
               context.Read();
               response.LatestNotificationAttemptSucceeded = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("LatestDeliveryAttemptSucceeded", targetDepth))
             {
               context.Read();
               response.LatestDeliveryAttemptSucceeded = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("TimeLoggingStarted", targetDepth))
             {
               context.Read();
               response.TimeLoggingStarted = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("TimeLoggingStopped", targetDepth))
             {
               context.Read();
               response.TimeLoggingStopped = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
               if (context.CurrentDepth <= originalDepth)
               {                   
                   return;
               }
           }
                       
           return;
       }