//go:build windows

package mount

import (
	"gitlink.org.cn/cloudream/common/pkgs/async"
	"gitlink.org.cn/cloudream/jcs-pub/client/internal/db"
	"gitlink.org.cn/cloudream/jcs-pub/client/internal/downloader"
	"gitlink.org.cn/cloudream/jcs-pub/client/internal/mount/config"
	"gitlink.org.cn/cloudream/jcs-pub/client/internal/uploader"
	clitypes "gitlink.org.cn/cloudream/jcs-pub/client/types"
)

type Mount struct {
	eventChan *MountEventChan
}

func NewMount(cfg *config.Config, db *db.DB, uploader *uploader.Uploader, downloader *downloader.Downloader) *Mount {
	return &Mount{
		eventChan: async.NewUnboundChannel[MountEvent](),
	}
}

func (m *Mount) Start() *MountEventChan {
	go func() {
	}()
	return m.eventChan
}

func (m *Mount) MountPoint() string {
	return ""
}

func (m *Mount) Stop() {
	m.eventChan.Send(ExitEvent{})
}

func (m *Mount) Dump() MountStatus {
	return MountStatus{}
}

func (m *Mount) NotifyObjectInvalid(obj clitypes.Object) {

}

func (m *Mount) NotifyPackageInvalid(pkg clitypes.Package) {

}

func (m *Mount) NotifyBucketInvalid(bkt clitypes.Bucket) {

}
