#!/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-0."""

import core


class Device_v1_0(core.Exporter):
  """Represents Device_v1_0."""

  def __init__(self, **defaults):
    core.Exporter.__init__(self, defaults=defaults)
    self.Export(objects=['Config',
                         'Device',
                         'DeviceInfo',
                         'GatewayInfo',
                         'LAN',
                         'ManagementServer',
                         'Time',
                         'UserInterface'])

  class Config(core.Exporter):
    """Represents Device_v1_0.Config."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['ConfigFile',
                          'PersistentData'])

  class Device(core.Exporter):
    """Represents Device_v1_0.Device."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['DeviceSummary'],
                  objects=['Services'])

    class Services(core.Exporter):
      """Represents Device_v1_0.Device.Services."""
      pass

  class DeviceInfo(core.Exporter):
    """Represents Device_v1_0.DeviceInfo."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['AdditionalHardwareVersion',
                          'AdditionalSoftwareVersion',
                          'Description',
                          'DeviceLog',
                          'DeviceStatus',
                          'EnabledOptions',
                          'FirstUseDate',
                          'HardwareVersion',
                          'Manufacturer',
                          'ManufacturerOUI',
                          'ModelName',
                          'ProductClass',
                          'ProvisioningCode',
                          'SerialNumber',
                          'SoftwareVersion',
                          'UpTime'])

  class GatewayInfo(core.Exporter):
    """Represents Device_v1_0.GatewayInfo."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['ManufacturerOUI',
                          'ProductClass',
                          'SerialNumber'])

  class LAN(core.Exporter):
    """Represents Device_v1_0.LAN."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['AddressingType',
                          'DHCPOptionNumberOfEntries',
                          'DNSServers',
                          'DefaultGateway',
                          'IPAddress',
                          'MACAddress',
                          'MACAddressOverride',
                          'SubnetMask'],
                  objects=['IPPingDiagnostics',
                           'Stats',
                           'TraceRouteDiagnostics'],
                  lists=['DHCPOption'])

    class DHCPOption(core.Exporter):
      """Represents Device_v1_0.LAN.DHCPOption.{i}."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['Request',
                            'Tag',
                            'Value'])

    class IPPingDiagnostics(core.Exporter):
      """Represents Device_v1_0.LAN.IPPingDiagnostics."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['AverageResponseTime',
                            'DSCP',
                            'DataBlockSize',
                            'DiagnosticsState',
                            'FailureCount',
                            'Host',
                            'MaximumResponseTime',
                            'MinimumResponseTime',
                            'NumberOfRepetitions',
                            'SuccessCount',
                            'Timeout'])

    class Stats(core.Exporter):
      """Represents Device_v1_0.LAN.Stats."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['ConnectionUpTime',
                            'CurrentDayBytesReceived',
                            'CurrentDayBytesSent',
                            'CurrentDayInterval',
                            'CurrentDayPacketsReceived',
                            'CurrentDayPacketsSent',
                            'QuarterHourBytesReceived',
                            'QuarterHourBytesSent',
                            'QuarterHourInterval',
                            'QuarterHourPacketsReceived',
                            'QuarterHourPacketsSent',
                            'TotalBytesReceived',
                            'TotalBytesSent',
                            'TotalPacketsReceived',
                            'TotalPacketsSent'])

    class TraceRouteDiagnostics(core.Exporter):
      """Represents Device_v1_0.LAN.TraceRouteDiagnostics."""

      def __init__(self, **defaults):
        core.Exporter.__init__(self, defaults=defaults)
        self.Export(params=['DSCP',
                            'DataBlockSize',
                            'DiagnosticsState',
                            'Host',
                            'MaxHopCount',
                            'NumberOfRouteHops',
                            'ResponseTime',
                            'Timeout'],
                    lists=['RouteHops'])

      class RouteHops(core.Exporter):
        """Represents Device_v1_0.LAN.TraceRouteDiagnostics.RouteHops.{i}."""

        def __init__(self, **defaults):
          core.Exporter.__init__(self, defaults=defaults)
          self.Export(params=['HopHost'])

  class ManagementServer(core.Exporter):
    """Represents Device_v1_0.ManagementServer."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['ConnectionRequestPassword',
                          'ConnectionRequestURL',
                          'ConnectionRequestUsername',
                          'DownloadProgressURL',
                          'KickURL',
                          'ParameterKey',
                          'Password',
                          'PeriodicInformEnable',
                          'PeriodicInformInterval',
                          'PeriodicInformTime',
                          'URL',
                          'UpgradesManaged',
                          'Username'])

  class Time(core.Exporter):
    """Represents Device_v1_0.Time."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['CurrentLocalTime',
                          'LocalTimeZone',
                          'NTPServer1',
                          'NTPServer2',
                          'NTPServer3',
                          'NTPServer4',
                          'NTPServer5'])

  class UserInterface(core.Exporter):
    """Represents Device_v1_0.UserInterface."""

    def __init__(self, **defaults):
      core.Exporter.__init__(self, defaults=defaults)
      self.Export(params=['AutoUpdateServer',
                          'AvailableLanguages',
                          'BackgroundColor',
                          'ButtonColor',
                          'ButtonTextColor',
                          'CurrentLanguage',
                          'ISPHelpDesk',
                          'ISPHelpPage',
                          'ISPHomePage',
                          'ISPLogo',
                          'ISPLogoSize',
                          'ISPMailServer',
                          'ISPName',
                          'ISPNewsServer',
                          'PasswordRequired',
                          'PasswordUserSelectable',
                          'TextColor',
                          'UpgradeAvailable',
                          'UserUpdateServer',
                          'WarrantyDate'])


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