Guest User

Untitled

a guest
Oct 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. package di
  2.  
  3. import dagger.Module
  4. import dagger.Provides
  5. import di.dependencies.*
  6.  
  7. @Module
  8. abstract class ComputerModule(private val memorySize: Int,
  9. private val vMemorySize: Int) {
  10.  
  11. @Provides
  12. fun providesRam(): Ram = Ddr5Ram(memorySize)
  13.  
  14. @Provides
  15. fun providesGraphicRam(): VideoRam = Ddr5VideoRam(vMemorySize)
  16.  
  17. @Provides
  18. @Named("large")
  19. fun providesLargeGraphicRam(): VideoRam = Ddr5VideoRam(vMemorySize)
  20.  
  21. @Provides
  22. fun providesMotherBoardWithLargeVideoRam(processor: Cpu,
  23. ram: Ram,
  24. @Named("large") videoRam: VideoRam): Gigabyte
  25. = Gigabyte(processor, ram, videoRam)
  26.  
  27. @Module
  28. companion object {
  29.  
  30. @Provides
  31. @JvmStatic
  32. fun providesPowerSupply(): Psu = Psu()
  33. }
  34. }
Add Comment
Please, Sign In to add comment