blob: ce3faae7de556c1dab9950d945ad4d9d01f64776 [file] [log] [blame]
jiangruia716b652015-11-25 16:07:37 +08001/*
2 * Copyright 2015 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.vtnrsc.event;
17
18import org.onosproject.event.AbstractEvent;
19
20
21/**
22 * Describes network vtnrsc event.
23 */
24public class VtnRscEvent
25 extends AbstractEvent<VtnRscEvent.Type, VtnRscEventFeedback> {
26
27 /**
28 * Type of vtnrsc events.
29 */
30 public enum Type {
31 /**
32 * Signifies that floating IP has create.
33 */
34 FLOATINGIP_PUT,
35 /**
36 * Signifies that floating IP has delete.
37 */
38 FLOATINGIP_DELETE,
39 /**
40 * Signifies that router has create.
41 */
42 ROUTER_PUT,
43 /**
44 * Signifies that router has delete.
45 */
46 ROUTER_DELETE,
47 /**
48 * Signifies that router interface has add.
49 */
50 ROUTER_INTERFACE_PUT,
51 /**
52 * Signifies that router interface has remove.
53 */
Mahesh Poojary S6d94f422015-11-29 12:55:56 +053054 ROUTER_INTERFACE_DELETE,
55 /**
56 * Signifies that port-pair has add.
57 */
58 PORT_PAIR_PUT,
59 /**
60 * Signifies that port-pair has remove.
61 */
62 PORT_PAIR_DELETE,
63 /**
64 * Signifies that port-pair has update.
65 */
66 PORT_PAIR_UPDATE,
67 /**
68 * Signifies that port-pair-group has add.
69 */
70 PORT_PAIR_GROUP_PUT,
71 /**
72 * Signifies that port-pair-group has remove.
73 */
74 PORT_PAIR_GROUP_DELETE,
75 /**
76 * Signifies that port-pair-group has update.
77 */
78 PORT_PAIR_GROUP_UPDATE,
79 /**
80 * Signifies that flow-classifier has add.
81 */
82 FLOW_CLASSIFIER_PUT,
83 /**
84 * Signifies that flow-classifier has remove.
85 */
86 FLOW_CLASSIFIER_DELETE,
87 /**
88 * Signifies that flow-classifier has update.
89 */
90 FLOW_CLASSIFIER_UPDATE,
91 /**
92 * Signifies that port-chain has add.
93 */
94 PORT_CHAIN_PUT,
95 /**
96 * Signifies that port-chain has remove.
97 */
98 PORT_CHAIN_DELETE,
99 /**
100 * Signifies that port-chain has update.
101 */
102 PORT_CHAIN_UPDATE
jiangruia716b652015-11-25 16:07:37 +0800103 }
104
105 /**
106 * Creates an event of a given type and for the specified vtn event feedback.
107 *
108 * @param type Vtnrsc event type
109 * @param vtnFeedback event VtnrscEventFeedback subject
110 */
111 public VtnRscEvent(Type type, VtnRscEventFeedback vtnFeedback) {
112 super(type, vtnFeedback);
113 }
114
115 /**
116 * Creates an event of a given type and for the specified vtn event feedback.
117 *
118 * @param type Vtnrsc event type
119 * @param vtnFeedback event VtnrscEventFeedback subject
120 * @param time occurrence time
121 */
122 public VtnRscEvent(Type type, VtnRscEventFeedback vtnFeedback, long time) {
123 super(type, vtnFeedback, time);
124 }
125}