aboutsummaryrefslogtreecommitdiffstats
path: root/doc/parts/seq_releasesoundmode.svg
blob: cbe1fa09e0b84eb90b7d7f356bafc9809ddab0d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1079px" preserveAspectRatio="none" style="width:1374px;height:1079px;background:#EEEBDC;" version="1.1" viewBox="0 0 1374 1079" width="1374px" zoomAndPan="magnify"><defs><filter height="300%" id="fcbo85lr89mzm" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#EEEBDC" height="1057.2109" style="stroke: #DEB887; stroke-width: 1.0;" width="142" x="544.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="113" x="559" y="15.1387">CommandPlugIn</text><rect fill="#EEEBDC" height="1057.2109" style="stroke: #DEB887; stroke-width: 1.0;" width="427" x="688.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="169" x="817.5" y="15.1387">Audio Manager Daemon</text><rect fill="#EEEBDC" height="1057.2109" style="stroke: #DEB887; stroke-width: 1.0;" width="128" x="1117.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="1132" y="15.1387">RoutingPlugIn</text><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="185.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="93.9688"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="830.6797"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="1012.0781"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="164.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="330.5" y="114.9688"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="73.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="330.5" y="787.5469"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="73.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="330.5" y="968.9453"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="121.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="610.5" y="144.1016"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="610.5" y="733.4141"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="610.5" y="914.8125"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="765" y="198.2344"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="820.8438" style="stroke: #404040; stroke-width: 1.0;" width="10" x="906.5" y="237.3672"/><rect fill="#EEEBDC" filter="url(#fcbo85lr89mzm)" height="705.8438" style="stroke: #000000; stroke-width: 2.0;" width="1350.5" x="13" y="344.3672"/><rect fill="#EEEBDC" filter="url(#fcbo85lr89mzm)" height="288.0781" style="stroke: #000000; stroke-width: 2.0;" width="815" x="538.5" y="392.3359"/><rect fill="#EEEBDC" height="178.0078" style="stroke: none; stroke-width: 1.0;" width="815" x="538.5" y="502.4063"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="60" x2="60" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="335" x2="335" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="615.5" x2="615.5" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="769.5" x2="769.5" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="911.5" x2="911.5" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1043.5" x2="1043.5" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1181.5" x2="1181.5" y1="83.9688" y2="1067.2109"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1297.5" x2="1297.5" y1="83.9688" y2="1067.2109"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="69" x="23" y="81.1387">Application</text><ellipse cx="60.5" cy="13" fill="#FFFACD" filter="url(#fcbo85lr89mzm)" rx="8" ry="8" style="stroke: #000000; stroke-width: 2.0;"/><path d="M60.5,21 L60.5,48 M47.5,29 L73.5,29 M60.5,48 L47.5,63 M60.5,48 L73.5,63 " fill="#FFFACD" filter="url(#fcbo85lr89mzm)" style="stroke: #000000; stroke-width: 2.0;"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="109" x="279" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="286" y="69.1387">SoundManager</text><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="130" x="548.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="116" x="555.5" y="69.1387">IAmCommandSend</text><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="151" x="692.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="699.5" y="69.1387">IAmCommandReceiver</text><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="104" x="857.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="864.5" y="69.1387">AudioManager</text><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="132" x="975.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="982.5" y="69.1387">IAmRoutingReceive</text><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="116" x="1121.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="1128.5" y="69.1387">IAmRoutingSend</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="1251.5" y="81.1387">Audio Domain</text><ellipse cx="1297.5" cy="13" fill="#FFFACD" filter="url(#fcbo85lr89mzm)" rx="8" ry="8" style="stroke: #000000; stroke-width: 2.0;"/><path d="M1297.5,21 L1297.5,48 M1284.5,29 L1310.5,29 M1297.5,48 L1284.5,63 M1297.5,48 L1310.5,63 " fill="#FFFACD" filter="url(#fcbo85lr89mzm)" style="stroke: #000000; stroke-width: 2.0;"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="185.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="93.9688"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="830.6797"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="1012.0781"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="164.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="330.5" y="114.9688"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="73.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="330.5" y="787.5469"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="73.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="330.5" y="968.9453"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="121.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="610.5" y="144.1016"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="610.5" y="733.4141"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="610.5" y="914.8125"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="765" y="198.2344"/><rect fill="#00FF00" filter="url(#fcbo85lr89mzm)" height="820.8438" style="stroke: #404040; stroke-width: 1.0;" width="10" x="906.5" y="237.3672"/><polygon fill="#000000" points="318.5,110.9688,328.5,114.9688,318.5,118.9688,322.5,114.9688" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="65.5" x2="324.5" y1="114.9688" y2="114.9688"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="72.5" y="110.0356">disconnect()</text><polygon fill="#000000" points="598.5,140.1016,608.5,144.1016,598.5,148.1016,602.5,144.1016" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="340.5" x2="604.5" y1="144.1016" y2="144.1016"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="347.5" y="139.1685">disconnect()</text><polygon fill="#000000" points="753,194.2344,763,198.2344,753,202.2344,757,198.2344" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="620.5" x2="759" y1="198.2344" y2="198.2344"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="627.5" y="193.3013">disconnect()</text><polygon fill="#000000" points="894.5,233.3672,904.5,237.3672,894.5,241.3672,898.5,237.3672" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="775" x2="900.5" y1="237.3672" y2="237.3672"/><polygon fill="#000000" points="631.5,247.3672,621.5,251.3672,631.5,255.3672,627.5,251.3672" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="625.5" x2="769" y1="251.3672" y2="251.3672"/><polygon fill="#000000" points="351.5,261.3672,341.5,265.3672,351.5,269.3672,347.5,265.3672" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="345.5" x2="614.5" y1="265.3672" y2="265.3672"/><polygon fill="#000000" points="71.5,275.3672,61.5,279.3672,71.5,283.3672,67.5,279.3672" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="65.5" x2="334.5" y1="279.3672" y2="279.3672"/><rect fill="none" height="705.8438" style="stroke: #000000; stroke-width: 2.0;" width="1350.5" x="13" y="344.3672"/><polygon fill="#EEEEEE" points="13,344.3672,82,344.3672,82,349.3672,72,359.3672,13,359.3672,13,344.3672" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="24" x="28" y="356.5059">opt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="186" x="97" y="356.5776">[Main connection is existing]</text><rect fill="none" height="288.0781" style="stroke: #000000; stroke-width: 2.0;" width="815" x="538.5" y="392.3359"/><polygon fill="#EEEEEE" points="538.5,392.3359,602.5,392.3359,602.5,397.3359,592.5,407.3359,538.5,407.3359,538.5,392.3359" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="553.5" y="404.4746">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="256" x="617.5" y="404.5464">[MainConnectioState = CS_SUSPENDED]</text><rect fill="#FFFFFF" filter="url(#fcbo85lr89mzm)" height="39.1016" style="stroke: #000000; stroke-width: 2.0;" width="797" x="545.5" y="433.3047"/><polygon fill="#EEEEEE" points="545.5,433.3047,610.5,433.3047,610.5,438.3047,600.5,448.3047,545.5,448.3047,545.5,433.3047" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="20" x="558.5" y="446.4434">ref</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="867.5" y="464.3716">Disconnect Sound Route</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="538.5" x2="1353.5" y1="503.4063" y2="503.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="112" x="543.5" y="513.6167">[CS_CONNECTED]</text><rect fill="#FFFFFF" filter="url(#fcbo85lr89mzm)" height="39.1016" style="stroke: #000000; stroke-width: 2.0;" width="797" x="545.5" y="542.2109"/><polygon fill="#EEEEEE" points="545.5,542.2109,610.5,542.2109,610.5,547.2109,600.5,557.2109,545.5,557.2109,545.5,542.2109" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="20" x="558.5" y="555.3496">ref</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="146" x="873" y="573.2778">Stop Sound Streaming</text><rect fill="#FFFFFF" filter="url(#fcbo85lr89mzm)" height="39.1016" style="stroke: #000000; stroke-width: 2.0;" width="797" x="545.5" y="611.3125"/><polygon fill="#EEEEEE" points="545.5,611.3125,610.5,611.3125,610.5,616.3125,600.5,626.3125,545.5,626.3125,545.5,611.3125" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="20" x="558.5" y="624.4512">ref</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="867.5" y="642.3794">Disconnect Sound Route</text><polygon fill="#000000" points="631.5,729.4141,621.5,733.4141,631.5,737.4141,627.5,733.4141" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="625.5" x2="905.5" y1="733.4141" y2="733.4141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="637.5" y="728.481">cbMainConnectionStateChanged()</text><polygon fill="#000000" points="351.5,783.5469,341.5,787.5469,351.5,791.5469,347.5,787.5469" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="345.5" x2="609.5" y1="787.5469" y2="787.5469"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="251" x="357.5" y="782.6138">signal("MainConnectionStateChanged")</text><polygon fill="#000000" points="894.5,797.6797,904.5,801.6797,894.5,805.6797,898.5,801.6797" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="615.5" x2="900.5" y1="801.6797" y2="801.6797"/><polygon fill="#000000" points="76.5,826.6797,66.5,830.6797,76.5,834.6797,72.5,830.6797" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="70.5" x2="329.5" y1="830.6797" y2="830.6797"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="82.5" y="825.7466">event [mainConnectionStateChanged]</text><polygon fill="#000000" points="631.5,910.8125,621.5,914.8125,631.5,918.8125,627.5,914.8125" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="625.5" x2="905.5" y1="914.8125" y2="914.8125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="637.5" y="909.8794">cbRemoveMainConnection()</text><polygon fill="#000000" points="351.5,964.9453,341.5,968.9453,351.5,972.9453,347.5,968.9453" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="345.5" x2="609.5" y1="968.9453" y2="968.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="211" x="357.5" y="964.0122">signal("RemoveMainConnection")</text><polygon fill="#000000" points="894.5,979.0781,904.5,983.0781,894.5,987.0781,898.5,983.0781" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="615.5" x2="900.5" y1="983.0781" y2="983.0781"/><polygon fill="#000000" points="76.5,1008.0781,66.5,1012.0781,76.5,1016.0781,72.5,1012.0781" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="70.5" x2="329.5" y1="1012.0781" y2="1012.0781"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="201" x="82.5" y="1007.145">event [removeMainConnection]</text><!--
@startuml
hide footbox

'skinparam defaultFontSize 10
skinparam backgroundColor #EEEBDC
skinparam sequenceGroupHeaderFontSize 12

skinparam sequence {
    ArrowColor black

    ActorBorderColor black

    LifeLineBorderColor #404040
    LifeLineBackgroundColor #404040
	
    ParticipantBorderColor black
    ParticipantBackgroundColor #00FF00
    ParticipantFontSize 12
    ParticipantFontColor black

    ActorBackgroundColor #FFFACD
    ActorFontColor black
    ActorFontSize 12


    BoxBorderColor #deb887
    BoxFontSize 12
    TitleFontSize 20
}


actor Application as AP
participant SoundManager as SM
box "CommandPlugIn" #EEEBDC
    participant IAmCommandSend as CS
end box
box "Audio Manager Daemon" #EEEBDC
    participant IAmCommandReceiver as CR
    participant AudioManager as AM
    participant IAmRoutingReceive as RR
end box
box "RoutingPlugIn" #EEEBDC
    participant IAmRoutingSend as RS
end box
actor "Audio Domain" as AD


activate AP #00ff00
AP -> SM : disconnect()
activate SM #00ff00
SM -> CS : disconnect()
activate CS #00ff00
|||
CS -> CR : disconnect()
activate CR #00ff00
|||
CR -> AM
activate AM #00ff00
CR - -> CS
deactivate CR
CS- ->SM
deactivate CS
SM- ->AP
deactivate SM
deactivate AP
|||
|||
opt Main connection is existing
    |||
    alt MainConnectioState = CS_SUSPENDED
        |||
        ref over CS,AD : Disconnect Sound Route
        |||
    else CS_CONNECTED
        |||
        ref over CS,AD : Stop Sound Streaming
        |||
        ref over CS,AD : Disconnect Sound Route
        |||
    end
    |||
    AM -> CS : cbMainConnectionStateChanged()
    activate CS #00ff00
    |||
    CS -> SM : signal("MainConnectionStateChanged")
    activate SM #00ff00
    CS - -> AM
    deactivate CS
    SM -> AP : event [mainConnectionStateChanged]
    activate AP #00ff00
    deactivate SM
    deactivate AP
    |||
    AM -> CS : cbRemoveMainConnection()
    activate CS #00ff00
    |||
    CS -> SM : signal("RemoveMainConnection")
    activate SM #00ff00
    CS - -> AM
    deactivate CS
    SM -> AP : event [removeMainConnection]
    activate AP #00ff00
    deactivate SM
    deactivate AP

end
@enduml

PlantUML version 1.2017.18beta10(Unknown compile time)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Java Version: 1.7.0_25-b15
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>