// Copyright 2022 schukai GmbH
// SPDX-License-Identifier: AGPL-3.0

package configuration

import "io"

type reader struct {
	format Format
	reader io.Reader
}

//type writer struct {
//	format Format
//	reader io.Writer
//}

type streamBackend struct {
	readers []reader
	//writers []writer
}

//type StreamOption struct {
//}

//func (s *Settings[C]) AddStream(stream io.ReadWriter, format Format) *Settings[C] {
//	return s.
//		AddReader(stream, format)
//		//AddWriter(stream, format)
//}

func (s *Settings[C]) AddReader(r io.Reader, format Format) *Settings[C] {
	s.Lock()
	defer s.Unlock()
	s.stream.readers = append(s.stream.readers, reader{format, r})
	return s
}

//func (s *Settings[C]) AddWriter(w io.Writer, format Format) *Settings[C] {
//	s.Lock()
//	defer s.Unlock()
//	s.stream.writers = append(s.stream.writers, writer{format, w})
//	return s
//}