blob: e4ebc36a1e295aa67b666108257b86ef9ab24cc7 [file] [log] [blame]
khenaidoo7d3c5582021-08-11 18:09:44 -04001/*
2 * Copyright 2020-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 */
16
17package eventif
18
19import (
20 "context"
21
22 "github.com/opencord/voltha-protos/v5/go/voltha"
23)
24
25// EventProxy interface for eventproxy
26type EventProxy interface {
27 SendDeviceEvent(ctx context.Context, deviceEvent *voltha.DeviceEvent, category EventCategory,
28 subCategory EventSubCategory, raisedTs int64) error
29 SendKpiEvent(ctx context.Context, id string, deviceEvent *voltha.KpiEvent2, category EventCategory,
30 subCategory EventSubCategory, raisedTs int64) error
31 SendRPCEvent(ctx context.Context, id string, deviceEvent *voltha.RPCEvent, category EventCategory,
32 subCategory *EventSubCategory, raisedTs int64) error
33 EnableLivenessChannel(ctx context.Context, enable bool) chan bool
34 SendLiveness(ctx context.Context) error
35 Start() error
36 Stop()
37}
38
39const (
40 EventTypeVersion = "0.1"
41)
42
43type (
44 EventType = voltha.EventType_Types
45 EventCategory = voltha.EventCategory_Types
46 EventSubCategory = voltha.EventSubCategory_Types
47)