summaryrefslogtreecommitdiffstats
path: root/low-can-binding/binding
diff options
context:
space:
mode:
authorArthur Guyader <arthur.guyader@iot.bzh>2019-08-26 15:33:13 +0200
committerArthur Guyader <arthur.guyader@iot.bzh>2019-08-30 11:45:55 +0200
commitff6e251cd95827bbfdf55303af726bccd27143b1 (patch)
treea1ec851d33c5ab518d48dd65ff2a935d06bde645 /low-can-binding/binding
parentf5997f7364a0ecead4b20af974b23eee4350b01b (diff)
Add many frames in a subscription in the function tx_send.
This commit convert the message to a vector of canfd_frame. If there are several canfd frames then we add all of them to the subscription. Bug-AGL : SPEC-2779 Change-Id: I876aaf5ab7fed2fedb79367f77b987ba4745cdfc Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Diffstat (limited to 'low-can-binding/binding')
-rw-r--r--low-can-binding/binding/low-can-subscription.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/low-can-binding/binding/low-can-subscription.cpp b/low-can-binding/binding/low-can-subscription.cpp
index 736e034a..a1187edd 100644
--- a/low-can-binding/binding/low-can-subscription.cpp
+++ b/low-can-binding/binding/low-can-subscription.cpp
@@ -490,9 +490,12 @@ int low_can_subscription_t::tx_send(low_can_subscription_t &subscription, messag
{
can_message_t *cm = static_cast<can_message_t*>(message);
- struct bcm_msg bcm_msg = subscription.make_bcm_head(TX_SEND, cm->get_id(),cm->get_flags());
- canfd_frame cfd = cm->convert_to_canfd_frame();
- subscription.add_one_bcm_frame(cfd, bcm_msg);
+ struct bcm_msg bcm_msg = subscription.make_bcm_head(TX_SEND, cm->get_id(),cm->get_flags() | TX_CP_CAN_ID); // TX_CP_CAN_ID -> copy in cfd the id of bcm
+ std::vector<canfd_frame> cfd_vect = cm->convert_to_canfd_frame_vector();
+ for(auto cfd: cfd_vect)
+ {
+ subscription.add_one_bcm_frame(cfd, bcm_msg);
+ }
if(subscription.open_socket(subscription, bus_name,socket_type::BCM) < 0)
{
Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
<?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="1017px" preserveAspectRatio="none" style="width:1501px;height:1017px;background:#EEEBDC;" version="1.1" viewBox="0 0 1501 1017" width="1501px" zoomAndPan="magnify"><defs><filter height="300%" id="f1f8zzovgj1d8a" 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="995.3594" style="stroke: #DEB887; stroke-width: 1.0;" width="142" x="582.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="113" x="597" y="15.1387">CommandPlugIn</text><rect fill="#EEEBDC" height="995.3594" style="stroke: #DEB887; stroke-width: 1.0;" width="427" x="726.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="169" x="855.5" y="15.1387">Audio Manager Daemon</text><rect fill="#EEEBDC" height="995.3594" style="stroke: #DEB887; stroke-width: 1.0;" width="128" x="1180.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="1195" y="15.1387">RoutingPlugIn</text><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="316.7969" style="stroke: #404040; stroke-width: 1.0;" width="10" x="88.5" y="493.7656"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="88.5" y="957.0938"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="59.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="367.5" y="464.6328"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="164.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="367.5" y="646.1641"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="88.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="367.5" y="898.8281"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="58.5313" style="stroke: #404040; stroke-width: 1.0;" width="10" x="648.5" y="854.5625"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="944.5" y="114.9688"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="224.6641" style="stroke: #404040; stroke-width: 1.0;" width="10" x="944.5" y="367.5"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="144.5313" style="stroke: #404040; stroke-width: 1.0;" width="10" x="944.5" y="768.5625"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1076.5" y="328.3672"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1076.5" y="729.4297"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="114.9688"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="112.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="269.3672"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="156.6641" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="435.5"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="121.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="675.2969"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="130.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1375.5" y="169.1016"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="28" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1380.5" y="220.2344"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="93" x2="93" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="372" x2="372" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="653.5" x2="653.5" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="807.5" x2="807.5" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="949.5" x2="949.5" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1081.5" x2="1081.5" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1244.5" x2="1244.5" y1="83.9688" y2="1005.3594"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1380.5" x2="1380.5" y1="83.9688" y2="1005.3594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="69" x="56" y="81.1387">Application</text><ellipse cx="93.5" cy="13" fill="#FFFACD" filter="url(#f1f8zzovgj1d8a)" rx="8" ry="8" style="stroke: #000000; stroke-width: 2.0;"/><path d="M93.5,21 L93.5,48 M80.5,29 L106.5,29 M93.5,48 L80.5,63 M93.5,48 L106.5,63 " fill="#FFFACD" filter="url(#f1f8zzovgj1d8a)" style="stroke: #000000; stroke-width: 2.0;"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="109" x="316" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="323" y="69.1387">SoundManager</text><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="130" x="586.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="116" x="593.5" y="69.1387">IAmCommandSend</text><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="151" x="730.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="737.5" y="69.1387">IAmCommandReceiver</text><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="104" x="895.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="902.5" y="69.1387">AudioManager</text><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="132" x="1013.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1020.5" y="69.1387">IAmRoutingReceive</text><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="116" x="1184.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="1191.5" y="69.1387">IAmRoutingSend</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="1334.5" y="81.1387">Audio Domain</text><ellipse cx="1380.5" cy="13" fill="#FFFACD" filter="url(#f1f8zzovgj1d8a)" rx="8" ry="8" style="stroke: #000000; stroke-width: 2.0;"/><path d="M1380.5,21 L1380.5,48 M1367.5,29 L1393.5,29 M1380.5,48 L1367.5,63 M1380.5,48 L1393.5,63 " fill="#FFFACD" filter="url(#f1f8zzovgj1d8a)" style="stroke: #000000; stroke-width: 2.0;"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="316.7969" style="stroke: #404040; stroke-width: 1.0;" width="10" x="88.5" y="493.7656"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="88.5" y="957.0938"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="59.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="367.5" y="464.6328"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="164.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="367.5" y="646.1641"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="88.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="367.5" y="898.8281"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="58.5313" style="stroke: #404040; stroke-width: 1.0;" width="10" x="648.5" y="854.5625"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="944.5" y="114.9688"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="224.6641" style="stroke: #404040; stroke-width: 1.0;" width="10" x="944.5" y="367.5"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="144.5313" style="stroke: #404040; stroke-width: 1.0;" width="10" x="944.5" y="768.5625"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1076.5" y="328.3672"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1076.5" y="729.4297"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="68.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="114.9688"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="112.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="269.3672"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="156.6641" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="435.5"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="121.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1239.5" y="675.2969"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="130.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1375.5" y="169.1016"/><rect fill="#00FF00" filter="url(#f1f8zzovgj1d8a)" height="28" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1380.5" y="220.2344"/><polygon fill="#000000" points="1227.5,110.9688,1237.5,114.9688,1227.5,118.9688,1231.5,114.9688" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="954.5" x2="1233.5" y1="114.9688" y2="114.9688"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="198" x="961.5" y="110.0356">asyncSetSourceState (SS_ON)</text><polygon fill="#000000" points="1363.5,165.1016,1373.5,169.1016,1363.5,173.1016,1367.5,169.1016" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1249.5" x2="1369.5" y1="169.1016" y2="169.1016"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="1256.5" y="164.1685">setMute(SS_ON)</text><polygon fill="#000000" points="960.5,179.2344,950.5,183.2344,960.5,187.2344,956.5,183.2344" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="954.5" x2="1243.5" y1="183.2344" y2="183.2344"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1390.5" x2="1432.5" y1="212.3672" y2="212.3672"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1432.5" x2="1432.5" y1="212.3672" y2="225.3672"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1391.5" x2="1432.5" y1="225.3672" y2="225.3672"/><polygon fill="#000000" points="1401.5,221.3672,1391.5,225.3672,1401.5,229.3672,1397.5,225.3672" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="92" x="1397.5" y="207.3013">Mute(UnMute)</text><polygon fill="#000000" points="1260.5,265.3672,1250.5,269.3672,1260.5,273.3672,1256.5,269.3672" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1254.5" x2="1374.5" y1="269.3672" y2="269.3672"/><polygon fill="#000000" points="1097.5,324.3672,1087.5,328.3672,1097.5,332.3672,1093.5,328.3672" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1091.5" x2="1238.5" y1="328.3672" y2="328.3672"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="1103.5" y="323.4341">ackSetSourceState()</text><polygon fill="#000000" points="965.5,363.5,955.5,367.5,965.5,371.5,961.5,367.5" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="959.5" x2="1075.5" y1="367.5" y2="367.5"/><polygon fill="#000000" points="1232.5,377.5,1242.5,381.5,1232.5,385.5,1236.5,381.5" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="1081.5" x2="1238.5" y1="381.5" y2="381.5"/><polygon fill="#000000" points="1227.5,431.5,1237.5,435.5,1227.5,439.5,1231.5,435.5" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="954.5" x2="1233.5" y1="435.5" y2="435.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="961.5" y="430.5669">asyncSetSourceState()</text><polygon fill="#000000" points="388.5,460.6328,378.5,464.6328,388.5,468.6328,384.5,464.6328" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="382.5" x2="1238.5" y1="464.6328" y2="464.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="251" x="394.5" y="459.6997">signal("asyncSetSourceState(SS_ON)")</text><polygon fill="#000000" points="109.5,489.7656,99.5,493.7656,109.5,497.7656,105.5,493.7656" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="103.5" x2="366.5" y1="493.7656" y2="493.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="115.5" y="488.8325">event [asyncSetSourceState("on")]</text><polygon fill="#FBFB77" filter="url(#f1f8zzovgj1d8a)" points="8,536.8984,8,576.8984,176,576.8984,176,546.8984,166,536.8984,8,536.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="166" x2="166" y1="536.8984" y2="546.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="176" x2="166" y1="546.8984" y2="546.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="14" y="553.9653">Prepare audio device.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="147" x="14" y="569.0981">And start audio playing</text><polygon fill="#000000" points="960.5,588.1641,950.5,592.1641,960.5,596.1641,956.5,592.1641" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="954.5" x2="1243.5" y1="592.1641" y2="592.1641"/><polygon fill="#000000" points="355.5,642.1641,365.5,646.1641,355.5,650.1641,359.5,646.1641" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="98.5" x2="361.5" y1="646.1641" y2="646.1641"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="105.5" y="641.231">ackSetSourceState()</text><polygon fill="#000000" points="1227.5,671.2969,1237.5,675.2969,1227.5,679.2969,1231.5,675.2969" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="377.5" x2="1233.5" y1="675.2969" y2="675.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="384.5" y="670.3638">ackSetSourceState()</text><polygon fill="#000000" points="1097.5,725.4297,1087.5,729.4297,1097.5,733.4297,1093.5,729.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1091.5" x2="1238.5" y1="729.4297" y2="729.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="1103.5" y="724.4966">ackSetSource()</text><polygon fill="#000000" points="965.5,764.5625,955.5,768.5625,965.5,772.5625,961.5,768.5625" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="959.5" x2="1075.5" y1="768.5625" y2="768.5625"/><polygon fill="#000000" points="1227.5,778.5625,1237.5,782.5625,1227.5,786.5625,1231.5,782.5625" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="1081.5" x2="1233.5" y1="782.5625" y2="782.5625"/><polygon fill="#000000" points="388.5,792.5625,378.5,796.5625,388.5,800.5625,384.5,796.5625" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="382.5" x2="1243.5" y1="796.5625" y2="796.5625"/><polygon fill="#000000" points="104.5,806.5625,94.5,810.5625,104.5,814.5625,100.5,810.5625" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="98.5" x2="371.5" y1="810.5625" y2="810.5625"/><polygon fill="#000000" points="669.5,850.5625,659.5,854.5625,669.5,858.5625,665.5,854.5625" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="663.5" x2="943.5" y1="854.5625" y2="854.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="214" x="675.5" y="834.6294">cbMainConnectionStateChanged(</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="715.5" y="849.7622">CS_CONNECTED)</text><polygon fill="#000000" points="388.5,894.8281,378.5,898.8281,388.5,902.8281,384.5,898.8281" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="382.5" x2="647.5" y1="898.8281" y2="898.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="394.5" y="878.895">signal("mainConnectionStateChanged (</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="434.5" y="894.0278">CS_CONNECTED)")</text><polygon fill="#000000" points="937.5,909.0938,947.5,913.0938,937.5,917.0938,941.5,913.0938" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="653.5" x2="943.5" y1="913.0938" y2="913.0938"/><polygon fill="#000000" points="109.5,953.0938,99.5,957.0938,109.5,961.0938,105.5,957.0938" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="103.5" x2="366.5" y1="957.0938" y2="957.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="250" x="115.5" y="937.1606">event [mainConnectionStateChanged (</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="155.5" y="952.2935">CS_CONNECTED)]</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


AM -> RS : asyncSetSourceState (SS_ON)
activate AM #00FF00
activate RS #00ff00
|||
RS -> AD : setMute(SS_ON)
activate AD #00ff00
RS - -> AM
deactivate RS
deactivate AM

AD -> AD : Mute(UnMute)
activate AD #00ff00
deactivate AD

AD -> RS
activate RS #00ff00
deactivate AD

RS -> RR : ackSetSourceState()
activate RR #00ff00
|||
RR -> AM
activate AM #00ff00
RR - -> RS
deactivate RR
deactivate RS
|||
AM -> RS : asyncSetSourceState()
activate RS #00ff00

RS -> SM : signal("asyncSetSourceState(SS_ON)")
activate SM #00ff00
SM -> AP : event [asyncSetSourceState("on")]
activate AP #00ff00
deactivate SM
note over AP: Prepare audio device.\nAnd start audio playing
RS - -> AM
|||
deactivate RS
deactivate AM
AP -> SM : ackSetSourceState()
activate SM #00ff00
SM -> RS : ackSetSourceState()
activate RS #00ff00
|||
RS -> RR : ackSetSource()
activate RR #00ff00
|||
RR -> AM
activate AM #00ff00
RR - -> RS
deactivate RR
RS- ->SM
deactivate RS
SM- ->AP
deactivate SM
deactivate AP

AM -> CS : cbMainConnectionStateChanged(\n          CS_CONNECTED)
activate CS #00ff00
CS -> SM : signal("mainConnectionStateChanged (\n          CS_CONNECTED)")
activate SM #00ff00
CS - -> AM
deactivate CS
deactivate AM
SM -> AP : event [mainConnectionStateChanged (\n          CS_CONNECTED)]
activate AP #00ff00
deactivate SM
deactivate AP
@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>