1 /*******************************************************************************
2  * Copyright (c) 2010 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.equinox.p2.engine;
15 
16 import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
17 
18 /**
19  * An event indicating that a profile has been added, removed, or changed.
20  * @see IProvisioningEventBus
21  * @since 2.0
22  */
23 public interface IProfileEvent {
24 
25 	/**
26 	 * Event constant (value 0) indicating that a profile has been added to a profile registry.
27 	 */
28 	public static final int ADDED = 0;
29 	/**
30 	 * Event constant (value 1) indicating that a profile has been removed from a profile registry.
31 	 */
32 	public static final int REMOVED = 1;
33 	/**
34 	 * Event constant (value 0) indicating that a profile has been changed in a profile registry.
35 	 */
36 	public static final int CHANGED = 2;
37 
38 	/**
39 	 * Returns the reason for the event. The reason will be one of the event constants
40 	 * {@link #ADDED}, {@link #REMOVED}, or {@link #CHANGED}.
41 	 * @return the reason for the event
42 	 */
getReason()43 	public int getReason();
44 
45 	/**
46 	 * Returns the id of the profile that changed.
47 	 * @return the id of the profile that changed
48 	 */
getProfileId()49 	public String getProfileId();
50 
51 }