6 ODEDaemon -> Server : construct
9 Server -> Service : construct(/tmp/.ode.sock)
11 Service -> Mainloop : construct
13 Mainloop -> ServerConnection : construct
14 activate ServerConnection
15 Server -> InternalEncryption : construct
16 activate InternalEncryption
17 InternalEncryption -> Service : setMethodHandler
18 InternalEncryption -> Ext4Engine : construct
21 participant FileFooter
22 participant KeyManager
24 Ext4Engine -> ProgressBar : construct
27 participant ClientConnection
29 participant ODEContext
33 ODEContext <- ODELibrary : ode_internal_encryption_encrypt
36 ODEContext -> Client : methodCall
39 Client -> ClientConnection : send
40 activate ClientConnection
41 ClientConnection -> Mainloop : Request remote method call
42 Client -> ClientConnection : dispatch
43 Mainloop -> Service : Event source callback
44 Service -> Service : onMessageProcess
45 Service -> ServerConnection: dispatch
46 ServerConnection --> Service
47 Service -> InternalEncryption : InternalEncryption::encrypt
49 InternalEncryption -> Ext4Engine : getKeyMeta
50 Ext4Engine -> FileFooter : read
51 FileFooter --> Ext4Engine
52 Ext4Engine --> InternalEncryption
54 InternalEncryption -> KeyManager : construct
56 InternalEncryption -> KeyManager : verifyPassword
57 InternalEncryption -> KeyManager : getMasterKey
60 InternalEncryption -> InternalEncryption: stopSystemdUserSessions
61 InternalEncryption -> InternalEncryption: stopDependedSystemServices
62 InternalEncryption -> InternalEncryption: showProgressUI(Encrypting)
63 InternalEncryption -> InternalEncryption: umount(opt/usr)
64 InternalEncryption -> Ext4Engine : encrypt
66 Ext4Engine -> Ext4Engine : isEnoughToCopyInplace
67 Ext4Engine -> Ext4Engine : mount
68 Ext4Engine -> Ext4Engine : sanitizeKey
69 Ext4Engine -> Ext4Engine : addKeyToKeyring(key)
70 Ext4Engine -> Ext4Engine : setPolicy
71 Ext4Engine -> Ext4Engine : copyInPlace
72 Ext4Engine -> Ext4Engine : mount
73 Ext4Engine -> ProgressBar : update
74 Ext4Engine -> Ext4Engine : sync
75 Ext4Engine -> ProgressBar : done
77 InternalEncryption -> InternalEncryption: setOptions
78 InternalEncryption -> InternalEncryption: sync
79 InternalEncryption -> InternalEncryption: reboot
80 InternalEncryption --> Service : reply
81 deactivate InternalEncryption
83 deactivate ProgressBar
85 Service -> ServerConnection : send
87 ServerConnection -> ClientConnection
88 deactivate ServerConnection
91 ClientConnection --> Client
92 deactivate ClientConnection
93 Client --> ODEContext : result
95 ODEContext --> ODELibrary : result