move vpnservice and cleanup poms
[netvirt.git] / aclservice / api / src / main / java / org / opendaylight / netvirt / aclservice / api / AclServiceManager.java
1 /*
2  * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.netvirt.aclservice.api;
9
10 import java.util.Collection;
11 import org.opendaylight.netvirt.aclservice.api.utils.AclInterface;
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.Acl;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.access.control.list.rev160218.access.lists.acl.access.list.entries.Ace;
14
15 public interface AclServiceManager {
16
17     enum Action {
18         ADD,
19         UPDATE,
20         REMOVE,
21         BIND,
22         UNBIND
23     }
24
25     enum MatchCriteria {
26         MATCH_SOURCE,
27         MATCH_DESTINATION
28     }
29
30     void addAclServiceListner(AclServiceListener aclServiceListner);
31
32     void removeAclServiceListner(AclServiceListener aclServiceListner);
33
34     void notify(AclInterface port, AclInterface oldPort, Action action);
35
36     void notifyAce(AclInterface port, Action action, String aclName, Ace ace);
37
38     void notifyAcl(Acl aclBefore, Acl aclAfter, Collection<AclInterface> portsBefore, Action action);
39 }