# **********************************************************************
#
# Copyright (c) 2003-2010 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************

# Ice version 3.4.1

# <auto-generated>
#
# Generated from file `FileInfo.ice'
#
# Warning: do not edit this file.
#
# </auto-generated>

import Ice, IcePy, __builtin__
import Ice_BuiltinSequences_ice

# Included module Ice
_M_Ice = Ice.openModule('Ice')

# Start of module IcePatch2
_M_IcePatch2 = Ice.openModule('IcePatch2')
__name__ = 'IcePatch2'

if not _M_IcePatch2.__dict__.has_key('FileInfo'):
    _M_IcePatch2.FileInfo = Ice.createTempClass()
    class FileInfo(object):
        '''Basic information about a single file.'''
        def __init__(self, path='', checksum=None, size=0, executable=False):
            self.path = path
            self.checksum = checksum
            self.size = size
            self.executable = executable

        def __hash__(self):
            _h = 0
            _h = 5 * _h + __builtin__.hash(self.path)
            if self.checksum:
                for _i0 in self.checksum:
                    _h = 5 * _h + __builtin__.hash(_i0)
            _h = 5 * _h + __builtin__.hash(self.size)
            _h = 5 * _h + __builtin__.hash(self.executable)
            return _h % 0x7fffffff

        def __lt__(self, other):
            if isinstance(other, _M_IcePatch2.FileInfo):
                return self.path < other.path or self.checksum < other.checksum or self.size < other.size or self.executable < other.executable
            elif other == None:
                return False
            return NotImplemented

        def __le__(self, other):
            if isinstance(other, _M_IcePatch2.FileInfo):
                return self.path <= other.path or self.checksum <= other.checksum or self.size <= other.size or self.executable <= other.executable
            elif other == None:
                return False
            return NotImplemented

        def __eq__(self, other):
            if isinstance(other, _M_IcePatch2.FileInfo):
                return self.path == other.path and self.checksum == other.checksum and self.size == other.size and self.executable == other.executable
            elif other == None:
                return False
            return NotImplemented

        def __ne__(self, other):
            if isinstance(other, _M_IcePatch2.FileInfo):
                return self.path != other.path or self.checksum != other.checksum or self.size != other.size or self.executable != other.executable
            elif other == None:
                return True
            return NotImplemented

        def __gt__(self, other):
            if isinstance(other, _M_IcePatch2.FileInfo):
                return self.path > other.path or self.checksum > other.checksum or self.size > other.size or self.executable > other.executable
            elif other == None:
                return False
            return NotImplemented

        def __ge__(self, other):
            if isinstance(other, _M_IcePatch2.FileInfo):
                return self.path >= other.path or self.checksum >= other.checksum or self.size >= other.size or self.executable >= other.executable
            elif other == None:
                return False
            return NotImplemented

        def __str__(self):
            return IcePy.stringify(self, _M_IcePatch2._t_FileInfo)

        __repr__ = __str__

    _M_IcePatch2._t_FileInfo = IcePy.defineStruct('::IcePatch2::FileInfo', FileInfo, (), (
        ('path', (), IcePy._t_string),
        ('checksum', (), _M_Ice._t_ByteSeq),
        ('size', (), IcePy._t_int),
        ('executable', (), IcePy._t_bool)
    ))

    _M_IcePatch2.FileInfo = FileInfo
    del FileInfo

if not _M_IcePatch2.__dict__.has_key('_t_FileInfoSeq'):
    _M_IcePatch2._t_FileInfoSeq = IcePy.defineSequence('::IcePatch2::FileInfoSeq', (), _M_IcePatch2._t_FileInfo)

# End of module IcePatch2

Ice.sliceChecksums["::IcePatch2::FileInfo"] = "4c71622889c19c7d3b5ef8210245"
Ice.sliceChecksums["::IcePatch2::FileInfoSeq"] = "892945a7a7bfb532f6148c4be9889bd"
