blob: a7ab6dc6c04e357fec2f7a138814e76db00808f1 [file] [log] [blame]
Scott Baker2c1c4822019-10-16 11:02:41 -07001/*
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 Hagerman143fea32020-07-10 15:28:55 -040021
serkant.uluderyab38671c2019-11-01 09:35:38 -070022 "github.com/opencord/voltha-protos/v3/go/voltha"
Scott Baker2c1c4822019-10-16 11:02:41 -070023)
24
25// CoreProxy interface for voltha-go coreproxy.
26type CoreProxy interface {
27 UpdateCoreReference(deviceID string, coreReference string)
28 DeleteCoreReference(deviceID string)
Scott Baker2c1c4822019-10-16 11:02:41 -070029 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 Hagerman143fea32020-07-10 15:28:55 -040032 PortsStateUpdate(ctx context.Context, deviceID string, portTypeFilter uint32, operStatus voltha.OperStatus_Types) error
Scott Baker2c1c4822019-10-16 11:02:41 -070033 DeleteAllPorts(ctx context.Context, deviceID string) error
Kent Hagerman143fea32020-07-10 15:28:55 -040034 GetDevicePort(ctx context.Context, deviceID string, portNo uint32) (*voltha.Port, error)
35 ListDevicePorts(ctx context.Context, deviceID string) ([]*voltha.Port, error)
Scott Baker2c1c4822019-10-16 11:02:41 -070036 DeviceStateUpdate(ctx context.Context, deviceID string,
serkant.uluderyab38671c2019-11-01 09:35:38 -070037 connStatus voltha.ConnectStatus_Types, operStatus voltha.OperStatus_Types) error
Scott Baker2c1c4822019-10-16 11:02:41 -070038
Naga Manjunath86e9d2e2019-10-25 15:21:49 +053039 DevicePMConfigUpdate(ctx context.Context, pmConfigs *voltha.PmConfigs) error
Scott Baker2c1c4822019-10-16 11:02:41 -070040 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
Mahir Gunyel62f07092019-10-18 11:16:03 -070049 DeviceReasonUpdate(ctx context.Context, deviceID string, deviceReason string) error
Chaitrashree G S66d41352020-01-09 20:18:58 -050050 PortStateUpdate(ctx context.Context, deviceID string, pType voltha.Port_PortType, portNo uint32,
serkant.uluderyab38671c2019-11-01 09:35:38 -070051 operStatus voltha.OperStatus_Types) error
Scott Baker2c1c4822019-10-16 11:02:41 -070052}