blob: a7ab6dc6c04e357fec2f7a138814e76db00808f1 [file] [log] [blame]
Devmalya Paul495b94a2019-08-27 19:42:00 -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 */
16
17package adapterif
18
19import (
20 "context"
Kent Hagermanf1db18b2020-07-08 13:38:15 -040021
Esin Karamanccb714b2019-11-29 15:02:06 +000022 "github.com/opencord/voltha-protos/v3/go/voltha"
Devmalya Paul495b94a2019-08-27 19:42:00 -040023)
24
25// CoreProxy interface for voltha-go coreproxy.
26type CoreProxy interface {
27 UpdateCoreReference(deviceID string, coreReference string)
28 DeleteCoreReference(deviceID string)
Devmalya Paul495b94a2019-08-27 19:42:00 -040029 RegisterAdapter(ctx context.Context, adapter *voltha.Adapter, deviceTypes *voltha.DeviceTypes) error
30 DeviceUpdate(ctx context.Context, device *voltha.Device) error
31 PortCreated(ctx context.Context, deviceID string, port *voltha.Port) error
Kent Hagermanf1db18b2020-07-08 13:38:15 -040032 PortsStateUpdate(ctx context.Context, deviceID string, portTypeFilter uint32, operStatus voltha.OperStatus_Types) error
Devmalya Paul495b94a2019-08-27 19:42:00 -040033 DeleteAllPorts(ctx context.Context, deviceID string) error
Kent Hagermanf1db18b2020-07-08 13:38:15 -040034 GetDevicePort(ctx context.Context, deviceID string, portNo uint32) (*voltha.Port, error)
35 ListDevicePorts(ctx context.Context, deviceID string) ([]*voltha.Port, error)
Devmalya Paul495b94a2019-08-27 19:42:00 -040036 DeviceStateUpdate(ctx context.Context, deviceID string,
Esin Karamanccb714b2019-11-29 15:02:06 +000037 connStatus voltha.ConnectStatus_Types, operStatus voltha.OperStatus_Types) error
Devmalya Paul495b94a2019-08-27 19:42:00 -040038
Naga Manjunath7615e552019-10-11 22:35:47 +053039 DevicePMConfigUpdate(ctx context.Context, pmConfigs *voltha.PmConfigs) error
Devmalya Paul495b94a2019-08-27 19:42:00 -040040 ChildDeviceDetected(ctx context.Context, parentDeviceID string, parentPortNo int,
41 childDeviceType string, channelID int, vendorID string, serialNumber string, onuID int64) (*voltha.Device, error)
42
43 ChildDevicesLost(ctx context.Context, parentDeviceID string) error
44 ChildDevicesDetected(ctx context.Context, parentDeviceID string) error
45 GetDevice(ctx context.Context, parentDeviceID string, deviceID string) (*voltha.Device, error)
46 GetChildDevice(ctx context.Context, parentDeviceID string, kwargs map[string]interface{}) (*voltha.Device, error)
47 GetChildDevices(ctx context.Context, parentDeviceID string) (*voltha.Devices, error)
48 SendPacketIn(ctx context.Context, deviceID string, port uint32, pktPayload []byte) error
David Bainbridgebe7cac12019-10-23 19:53:07 +000049 DeviceReasonUpdate(ctx context.Context, deviceID string, deviceReason string) error
Chaitrashree G Sded0a832020-01-09 20:21:48 -050050 PortStateUpdate(ctx context.Context, deviceID string, pType voltha.Port_PortType, portNo uint32,
Esin Karamanccb714b2019-11-29 15:02:06 +000051 operStatus voltha.OperStatus_Types) error
Devmalya Paul495b94a2019-08-27 19:42:00 -040052}