blob: 36939bd564c59b1b2e45464652bf705bcc1c7cd0 [file] [log] [blame]
Holger Hildebrandtfa074992020-03-27 15:42:06 +00001/*
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"
dbainbri4d3a0dc2020-12-02 00:33:42 +000021
22 "github.com/opencord/voltha-protos/v4/go/voltha"
Holger Hildebrandtfa074992020-03-27 15:42:06 +000023)
24
25// CoreProxy interface for voltha-go coreproxy.
26type CoreProxy interface {
27 UpdateCoreReference(deviceID string, coreReference string)
28 DeleteCoreReference(deviceID string)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000029 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
dbainbri4d3a0dc2020-12-02 00:33:42 +000032 PortsStateUpdate(ctx context.Context, deviceID string, portTypeFilter uint32, operStatus voltha.OperStatus_Types) error
Holger Hildebrandtfa074992020-03-27 15:42:06 +000033 DeleteAllPorts(ctx context.Context, deviceID string) error
dbainbri4d3a0dc2020-12-02 00:33:42 +000034 GetDevicePort(ctx context.Context, deviceID string, portNo uint32) (*voltha.Port, error)
35 ListDevicePorts(ctx context.Context, deviceID string) ([]*voltha.Port, error)
Holger Hildebrandtfa074992020-03-27 15:42:06 +000036 DeviceStateUpdate(ctx context.Context, deviceID string,
37 connStatus voltha.ConnectStatus_Types, operStatus voltha.OperStatus_Types) error
38
39 DevicePMConfigUpdate(ctx context.Context, pmConfigs *voltha.PmConfigs) error
40 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
49 DeviceReasonUpdate(ctx context.Context, deviceID string, deviceReason string) error
50 PortStateUpdate(ctx context.Context, deviceID string, pType voltha.Port_PortType, portNo uint32,
51 operStatus voltha.OperStatus_Types) error
52}