package nucleus

import (
	"context"

	"code.fbi.h-da.de/danet/gosdn/controller/customerrs"

	"github.com/openconfig/ygot/ytypes"
)

// Restconf implements the Transport interface and provides an SBI with the
// possibility to access a Restconf endpoint.
type Restconf struct{}

// Get not yet implemented.
func (r Restconf) Get(ctx context.Context, params ...string) (interface{}, error) {
	return nil, &customerrs.NotYetImplementedError{}
}

// Set not yet implemented.
func (r Restconf) Set(ctx context.Context, params ...interface{}) error {
	return &customerrs.NotYetImplementedError{}
}

// Subscribe not yet implemented.
func (r Restconf) Subscribe(ctx context.Context, params ...string) error {
	return &customerrs.NotYetImplementedError{}
}

// Type not yet implemented.
func (r Restconf) Type() string {
	return "restconf"
}

// GetOptions not yet implemented.
func (r Restconf) GetOptions() interface{} {
	return &customerrs.NotYetImplementedError{}
}

// ProcessResponse not yet implemented.
func (r Restconf) ProcessResponse(resp interface{}, root interface{}, models *ytypes.Schema) error {
	return &customerrs.NotYetImplementedError{}
}
