Internal method to support CompareManagedObject functionality.

def Compare(fromMo, toMo, diff):
	""" Internal method to support CompareManagedObject functionality. """
	from UcsBase import UcsUtils

	if (fromMo.classId != toMo.classId):
		return CompareStatus.TypesDifferent

	for prop in UcsUtils.GetUcsPropertyMetaAttributeList(str(fromMo.classId)):
		propMeta = UcsUtils.IsPropertyInMetaIgnoreCase(fromMo.classId, prop)
		if propMeta != None:
			if ((propMeta.access == UcsPropertyMeta.Internal) or (propMeta.access == UcsPropertyMeta.ReadOnly) or (
						prop in toMo._excludePropList)):
				continue
			if ((toMo.__dict__.has_key(prop)) and (fromMo.getattr(prop) != toMo.getattr(prop))):
				diff.append(prop)

	if (len(diff) > 0):
		return CompareStatus.PropsDifferent

	return CompareStatus.Equal