#!/usr/bin/python
# Copyright 2011 Google Inc. All Rights Reserved.
#
# AUTO-GENERATED BY parse-schema.py
#
# DO NOT EDIT!!
#
#pylint: disable-msg=C6202
#pylint: disable-msg=C6409
#pylint: disable-msg=C6310
# These should not actually be necessary (bugs in gpylint?):
#pylint: disable-msg=E1101
#pylint: disable-msg=W0231
#
"""Auto-generated from spec: urn:broadband-forum-org:tr-106-1-2."""

import core
from tr143_v1_0 import Device_v1_2 as _Device_v1_2


class Device_v1_2(_Device_v1_2):
  """Represents Device_v1_2."""

  def __init__(self, **defaults):
    _Device_v1_2.__init__(self, defaults=defaults)
    self.Export(objects=['Config',
                         'DeviceInfo',
                         'DownloadDiagnostics',
                         'LAN',
                         'ManagementServer',
                         'UploadDiagnostics',
                         'UserInterface'])

  class Config(_Device_v1_2.Config):
    """Represents Device_v1_2.Config."""

    def __init__(self, **defaults):
      _Device_v1_2.Config.__init__(self, defaults=defaults)
      self.Export(params=['ConfigFile'])

  class DeviceInfo(_Device_v1_2.DeviceInfo):
    """Represents Device_v1_2.DeviceInfo."""

    def __init__(self, **defaults):
      _Device_v1_2.DeviceInfo.__init__(self, defaults=defaults)
      self.Export(params=['AdditionalHardwareVersion',
                          'AdditionalSoftwareVersion',
                          'EnabledOptions',
                          'ManufacturerOUI',
                          'ProductClass',
                          'SerialNumber'])

  class DownloadDiagnostics(_Device_v1_2.DownloadDiagnostics):
    """Represents Device_v1_2.DownloadDiagnostics."""

    def __init__(self, **defaults):
      _Device_v1_2.DownloadDiagnostics.__init__(self, defaults=defaults)
      self.Export(params=['DiagnosticsState',
                          'DownloadURL'])

  class LAN(_Device_v1_2.LAN):
    """Represents Device_v1_2.LAN."""

    def __init__(self, **defaults):
      _Device_v1_2.LAN.__init__(self, defaults=defaults)
      self.Export(params=['MACAddressOverride'],
                  objects=['Stats'],
                  lists=['DHCPOption'])

    class DHCPOption(_Device_v1_2.LAN.DHCPOption):
      """Represents Device_v1_2.LAN.DHCPOption.{i}."""

      def __init__(self, **defaults):
        _Device_v1_2.LAN.DHCPOption.__init__(self, defaults=defaults)
        self.Export(params=['Value'])

    class Stats(_Device_v1_2.LAN.Stats):
      """Represents Device_v1_2.LAN.Stats."""

      def __init__(self, **defaults):
        _Device_v1_2.LAN.Stats.__init__(self, defaults=defaults)
        self.Export(params=['CurrentDayInterval',
                            'QuarterHourInterval'])

  class ManagementServer(_Device_v1_2.ManagementServer):
    """Represents Device_v1_2.ManagementServer."""

    def __init__(self, **defaults):
      _Device_v1_2.ManagementServer.__init__(self, defaults=defaults)
      self.Export(params=['PeriodicInformTime',
                          'UDPConnectionRequestAddress'])

  class UploadDiagnostics(_Device_v1_2.UploadDiagnostics):
    """Represents Device_v1_2.UploadDiagnostics."""

    def __init__(self, **defaults):
      _Device_v1_2.UploadDiagnostics.__init__(self, defaults=defaults)
      self.Export(params=['UploadURL'])

  class UserInterface(_Device_v1_2.UserInterface):
    """Represents Device_v1_2.UserInterface."""

    def __init__(self, **defaults):
      _Device_v1_2.UserInterface.__init__(self, defaults=defaults)
      self.Export(params=['AutoUpdateServer',
                          'UserUpdateServer'])


if __name__ == '__main__':
  print core.DumpSchema(Device_v1_2)
