// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::Device::StorageLib" ), 
    Description ( 
       "Statistics for a LabelReader, related to read successes, "
       "failures and retries." )]
class CIM_LabelReaderStatInfo : CIM_DeviceStatisticalInformation {

      [Description ( 
          "The number of successful physical label scans." ), 
       Counter]
   uint64 ScanSuccesses;

      [Description ( "The number of failed physical label scans." ), 
       Counter]
   uint64 ScanFailures;

      [Description ( "The number of retried physical label scans." ), 
       Counter]
   uint64 ScanRetries;


      [Description ( 
          "Method to reset the statistical counters. The method "
          "takes one parameter as input - an integer indicating "
          "which counter to reset. For this input parameter, 0 "
          "indicates all, 1 resets the \"Scan Successes\" counter, "
          "2 resets the \"Scan Failures\" counter, and 3 resets the "
          "\"Scan Retries\" counter. The method returns 0 if "
          "successful, 1 if not supported, and any other value if "
          "an error occurred. A method is specified so that the "
          "Device\'s instrumentation can also reset its internal "
          "processing and counters. \n"
          "In a subclass, the set of possible return codes should "
          "be specified in a ValueMap qualifier on the method. The "
          "strings to which the ValueMap contents are \'translated\' "
          "can be specified as a Values array qualifier." )]
   uint32 ResetCounter(
         [IN, Description ( "The counter to reset." ), 
          ValueMap { "0", "1", "2", "3" }, 
          Values { "All", "Scan Successes", "Scan Failures", 
             "Scan Retries" }]
      uint16 SelectedCounter);

};
