blob: fc6fe78c0e4140a817248b977f52828ec382a344 [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 */
npujar1d86a522019-11-14 17:11:16 +053016
17package coreif
khenaidooab1f7bd2019-11-14 14:00:27 -050018
19import (
20 "context"
21)
22
npujar1d86a522019-11-14 17:11:16 +053023// DeviceOwnership represent device ownership related methods
khenaidooab1f7bd2019-11-14 14:00:27 -050024type DeviceOwnership interface {
25 Start(ctx context.Context)
26 Stop(ctx context.Context)
27 OwnedByMe(id interface{}) (bool, error)
28 AbandonDevice(id string) error
29 GetAllDeviceIdsOwnedByMe() []string
30}