package com.abiquo.abicloud.vsm.model; import java.net.URL; import java.util.UUID; import org.dmtf.schemas.wbem.wsman._1.wsman.EventType; import com.abiquo.abicloud.vsm.event.EventTypeEnumeration; /** * This interface defines the event monitor methods * * @author abiquo */ public interface IMonitor extends Runnable { /** * Subscribes the event to the event monitor * * @param hypervisorAddress the hypervisor address to monitor * @param virtualSystemID the virtual system identifier * @param eventType the event type * @param notifyTo the event sink to notify to */ public void suscribe(URL hypervisorAddress, UUID virtualSystemID, EventTypeEnumeration eventType, URL notifyTo); /** * Unsubscribes the event * * @param hypervisorAddress the hypervisor address * @param virtualSystemID the virtual system identifier * @param eventType the event type */ public void unSuscribe(URL hypervisorAddress, UUID virtualSystemID, EventTypeEnumeration eventType); /** * Raises the event */ public void raiseEvent(); /** * Its used to load the hypervisor type in the plugin manager */ public String getMonitorType(); }