def __init__(self, name=None, ref=None): self.lock = threading.Lock() self.ref = ref self.name = name if ref: from xen.xend.XendXSPolicy import XendXSPolicy self.xendxspolicy = XendXSPolicy(self, {}, ref) else: self.xendxspolicy = None
class XSPolicy: """ The base policy class for all policies administered through XSPolicyAdmin. """ def __init__(self, name=None, ref=None): self.lock = threading.Lock() self.ref = ref self.name = name if ref: from xen.xend.XendXSPolicy import XendXSPolicy self.xendxspolicy = XendXSPolicy(self, {}, ref) else: self.xendxspolicy = None def grab_lock(self): self.lock.acquire() def unlock(self): self.lock.release() def get_ref(self): return self.ref def destroy(self): if self.xendxspolicy: self.xendxspolicy.destroy() # All methods below should be overwritten by the inheriting class def isloaded(self): return False def loadintohv(self): return xsconstants.XSERR_POLICY_LOAD_FAILED def get_type(self): return xsconstants.XS_POLICY_NONE def get_type_name(self): return "" def update(self, repr_new): return -xsconstants.XSERR_GENERAL_FAILURE, ""