blob: c63a7386668cfc2a650377b645ace673ed1076d3 [file] [log] [blame]
khenaidooab1f7bd2019-11-14 14:00:27 -05001/*
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/*
17Defines a DeviceManager Interface - Used for unit testing of the flow decomposer only at this
18time.
19*/
npujar1d86a522019-11-14 17:11:16 +053020
21package coreif
khenaidooab1f7bd2019-11-14 14:00:27 -050022
23import (
24 "context"
npujar1d86a522019-11-14 17:11:16 +053025
khenaidooab1f7bd2019-11-14 14:00:27 -050026 "github.com/opencord/voltha-go/db/model"
27 "github.com/opencord/voltha-go/rw_core/config"
28 "github.com/opencord/voltha-lib-go/v2/pkg/kafka"
29)
30
npujar1d86a522019-11-14 17:11:16 +053031// Core represent core methods
khenaidooab1f7bd2019-11-14 14:00:27 -050032type Core interface {
33 Start(ctx context.Context)
34 Stop(ctx context.Context)
35 GetKafkaInterContainerProxy() *kafka.InterContainerProxy
36 GetConfig() *config.RWCoreFlags
37 GetInstanceId() string
38 GetClusterDataProxy() *model.Proxy
39 GetAdapterManager() AdapterManager
40 StartGRPCService(ctx context.Context)
41 GetDeviceManager() DeviceManager
42 GetLogicalDeviceManager() LogicalDeviceManager
43 GetDeviceOwnerShip() DeviceOwnership
44}