# Path: ZenPacks/community/HPMon/interfaces.py
# class IcpqIdeControllerInfo(IComponentInfo):
# class IcpqScsiCntlrInfo(IcpqIdeControllerInfo):
# class IcpqDaCntlrInfo(IcpqIdeControllerInfo):
# class IcpqFcTapeCntlrInfo(IcpqIdeControllerInfo):
# class IcpqFcaCntlrInfo(IcpqIdeControllerInfo):
# class IcpqFcaHostCntlrInfo(IcpqIdeControllerInfo):
# class IcpqNicIfPhysAdapterInfo(IComponentInfo):
# class IcpqSm2CntlrInfo(IComponentInfo):


from zope.interface import implements
from Products.Zuul.infos import ProxyProperty
from Products.Zuul.infos.component import ComponentInfo
from Products.Zuul.decorators import info
from ZenPacks.community.HPMon import interfaces

    serialNumber = ProxyProperty("serialNumber")
    slot = ProxyProperty("slot")
    port = ProxyProperty("port")
    role = ProxyProperty("role")
    macaddress = ProxyProperty("macaddress")
    duplex = ProxyProperty("duplex")

    @property
    @info
    def manufacturer(self):
        pc = self._object.productClass()
        if (pc):
            return pc.manufacturer()

    @property
    @info
    def product(self):
        return self._object.productClass()

    @property
    def speed(self):
        return self._object.speedString()

    @property
    def status(self):
        if not hasattr(self._object, 'statusString'): return 'Unknown'
        else: return self._object.statusString()

class cpqSm2CntlrInfo(ComponentInfo):

# Path: ZenPacks/community/HPMon/interfaces.py
# class IcpqIdeControllerInfo(IComponentInfo):
# class IcpqScsiCntlrInfo(IcpqIdeControllerInfo):
# class IcpqDaCntlrInfo(IcpqIdeControllerInfo):
# class IcpqFcTapeCntlrInfo(IcpqIdeControllerInfo):
# class IcpqFcaCntlrInfo(IcpqIdeControllerInfo):
# class IcpqFcaHostCntlrInfo(IcpqIdeControllerInfo):
# class IcpqNicIfPhysAdapterInfo(IComponentInfo):
# class IcpqSm2CntlrInfo(IComponentInfo):


# Path: ZenPacks/community/HPMon/info.py
from zope.interface import implements
from Products.Zuul.infos import ProxyProperty
from Products.Zuul.infos.component import ComponentInfo
from Products.Zuul.decorators import info
from ZenPacks.community.HPMon import interfaces


    serialNumber = ProxyProperty("serialNumber")
    slot = ProxyProperty("slot")
    port = ProxyProperty("port")
    role = ProxyProperty("role")
    macaddress = ProxyProperty("macaddress")
    duplex = ProxyProperty("duplex")

    @property
    @info
    def manufacturer(self):
        pc = self._object.productClass()
        if (pc):
            return pc.manufacturer()

    @property
    @info
    def product(self):
        return self._object.productClass()

    @property
    def speed(self):
        return self._object.speedString()

    @property
    def status(self):
        if not hasattr(self._object, 'statusString'): return 'Unknown'
        else: return self._object.statusString()

class cpqSm2CntlrInfo(ComponentInfo):

    implements(interfaces.IcpqSm2CntlrInfo)