blob: 796a6ce926489da02e14467d8806b679d5521930 [file] [log] [blame]
khenaidoobf6e7bb2018-08-14 22:27:29 -04001/*
2 * Copyright 2018-present Open Networking Foundation
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 */
Stephane Barbariedc5022d2018-11-19 15:21:44 -050016
Stephane Barbarie4a2564d2018-07-26 11:02:58 -040017package model
18
Stephane Barbariedc5022d2018-11-19 15:21:44 -050019// CallbackType is an enumerated value to express when a callback should be executed
Stephane Barbarie4a2564d2018-07-26 11:02:58 -040020type CallbackType uint8
21
Stephane Barbariedc5022d2018-11-19 15:21:44 -050022// Enumerated list of callback types
Stephane Barbarie4a2564d2018-07-26 11:02:58 -040023const (
npujar9a30c702019-11-14 17:06:39 +053024 Get CallbackType = iota
25 PreUpdate
26 PostUpdate
27 PreAdd
28 PostAdd
29 PreRemove
30 PostRemove
31 PostListchange
Stephane Barbarie4a2564d2018-07-26 11:02:58 -040032)
33
34var enumCallbackTypes = []string{
35 "GET",
36 "PRE_UPDATE",
37 "POST_UPDATE",
38 "PRE_ADD",
39 "POST_ADD",
40 "PRE_REMOVE",
41 "POST_REMOVE",
42 "POST_LISTCHANGE",
43}
44
45func (t CallbackType) String() string {
46 return enumCallbackTypes[t]
47}