MediaLibraryBaseModel.swift 777 B

1234567891011121314151617181920212223242526272829
  1. /*****************************************************************************
  2. * MediaLibraryBaseModel.swift
  3. *
  4. * Copyright © 2018 VLC authors and VideoLAN
  5. * Copyright © 2018 Videolabs
  6. *
  7. * Authors: Soomin Lee <bubu@mikan.io>
  8. *
  9. * Refer to the COPYING file of the official project for license.
  10. *****************************************************************************/
  11. protocol MediaLibraryModelView {
  12. func dataChanged()
  13. }
  14. protocol MediaLibraryBaseModel: class {
  15. associatedtype MLType where MLType: VLCMLObject
  16. init(medialibrary: VLCMediaLibraryManager)
  17. var files: [MLType] { get set }
  18. var view: MediaLibraryModelView? { get set }
  19. var indicatorName: String { get }
  20. func append(_ item: MLType)
  21. func isIncluded(_ item: MLType)
  22. }