Skip to content
This repository has been archived by the owner on May 3, 2019. It is now read-only.

Commit

Permalink
#69 Class diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
ColinDuquesnoy committed Sep 20, 2017
1 parent cee0ce3 commit 31adb69
Showing 1 changed file with 74 additions and 0 deletions.
74 changes: 74 additions & 0 deletions docs/developers/PlantUml/UserScripts.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
@startuml

namespace MellowPlayer.Application {

interface IUserScript {
path(): QString
name(): QString
setName(QString)
code() : QString
import(QString path)
load(QString path)
}

class UserScriptBase {
- path_: QString
- name_: QString
# code_: QString
+ path(): QString
+ name(): QString
+ setName(QString):
+ code(): QString
}

IUserScript <|-- UserScriptBase

class StreamingService {
- _userScripts: QList<IUserScript*>
+ addUserScript(IUserScript* script)
+ userScripts(): QList<IUserScript>
}

StreamingService "*" -> IUserScript

}

namespace MellowPlayer.Infrastructure {

class UserScript {
+ import(QString path)
+ load(QString path)
}

MellowPlayer.Application.UserScriptBase <|-- UserScript

class StreamingServiceLoader {
+ load()
}

StreamingServiceLoader .left..> UserScript: <<load>>
StreamingServiceLoader .> MellowPlayer.Application.StreamingService: <<load>>

}

namespace MellowPlayer.Presentation {
class UserScriptViewModel {
- _userScript: IUserScript&
+ code(): QString
+ name(): QString
+ setName(QString)
+ path(): QString
}

class StreamingServiceViewModel {
- _userScripts: ListModel<UserScriptViewModel>
+ userScripts(): ListModel<UserScriptViewModel>
+ addScript(QString path)
+ removeScript(QString name)
}

UserScriptViewModel --> MellowPlayer.Application.IUserScript
StreamingServiceViewModel "*" -> UserScriptViewModel
}

@enduml

0 comments on commit 31adb69

Please sign in to comment.