Revision control

Copy as Markdown

Other Tools

SVG Preview (Scaled)

Preview of https://raw.githubusercontent.com/mozilla/releases-comm-central/HEAD/mailnews/base/docs/message_copy_imap_to_local.svg
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1677.3726534233356" height="1590.4102434728181"><desc>title%20Message%20copy%20-%20IMAP%20-%3E%20Local%0A%0AnsMsgCopyService-%3EnsMsgLocalMailFolder%3A%20nsMsgLocalMailFolder%3A%3ACopyMessageTo%5Cn%5CnVia%20DoNextCopy%2C%20then%20nsMsgLocalMailFolder%3A%3ACopyMessages%2C%5Cnwith%20an%20nsIMsgCopyServiceListener%0A%0Aloop%20mCopyState-%3Em_curCopyIndex%20%3C%20total%20number%20of%20messages%0A%0AnsMsgLocalMailFolder-%3EnsCopyMessageStreamListener%3AnsCopyMessageStreamListener%3A%3AInit%5Cn%5CnWith%20the%20current%20instance%20of%20nsMsgLocalMailFolder%20itself%5Cnas%20the%20destination%0A%0AnsCopyMessageStreamListener--%3EnsMsgLocalMailFolder%3A%0A%0AnsMsgLocalMailFolder-%3EnsImapService%3A%5Cn%5CnnsImapService%3A%3ACopyMessage%5Cn%5CnVia%20CopyMessageTo%2C%20with%20the%20nsCopyMessageStreamListener%2C%5CnQI'd%20as%20an%20nsIStreamListener.%0A%0AnsImapService-%3EnsImapService%3AnsImapService%3A%3AGetMessageFromUrl%5Cn%5CnFetch%20message%2C%20no%20format%5Cnconversion%2C%20passing%20the%20%5CnnsIStreamListener%20from%20CopyMessage%20%5Cnto%20nsIChannel%3A%3AAsyncOpen%0A%0AnsImapService-%3EnsCopyMessageStreamListener%3AnsCopyMessageStreamListener%3A%3AOnStartRequest%5Cn%5CnVia%20nsIChannel%3A%3AAsyncOpen%0A%0AnsCopyMessageStreamListener-%3EnsMsgLocalMailFolder%3AnsMsgLocalMailFolder%3A%3ABeginCopy%0A%0AnsMsgLocalMailFolder-%3EnsMsgLocalMailFolder%3ACreate%20new%20message%20header%0A%0AnsMsgLocalMailFolder-%3EnsMsgLocalMailFolder%3AIncrement%20mCopyState-%3Em_curCopyIndex%5Cn%5CnVia%20WriteStartOfNewMessage%0A%0AnsImapService-%3EnsCopyMessageStreamListener%3AnsCopyMessageStreamListener%3A%3AOnDataAvailable%5Cn%5CnVia%20nsIChannel%3A%3AAsyncOpen%0A%0AnsCopyMessageStreamListener-%3EnsMsgLocalMailFolder%3AnsMsgLocalMailFolder%3A%3ACopyData%0A%0AnsMsgLocalMailFolder-%3EnsMsgLocalMailFolder%3APopulate%20message%20with%20streamed%20data%0A%0AnsImapService-%3EnsCopyMessageStreamListener%3AnsCopyMessageStreamListener%3A%3AOnStopRequest%5Cn%5CnVia%20nsIChannel%3A%3AAsyncOpen%0A%0AnsCopyMessageStreamListener-%3EnsCopyMessageStreamListener%3AEndCopy%0A%0A%0AnsCopyMessageStreamListener-%3EnsMsgLocalMailFolder%3AnsMsgLocalMailFolder%3A%3AEndCopy%0A%0Aalt%20move%0AnsCopyMessageStreamListener-%3EnsMsgLocalMailFolder%3AnsMsgLocalMailFolder%3A%3AEndMove%0Aend%0A%0Anote%20over%20nsMsgLocalMailFolder%3ACalls%20CopyMessageTo%20with%20mCopyState-%3Em_messages%5BmCopyState-%3Em_curCopyIndex%5D%0A%0Aend%0A</desc><defs/><g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g><rect fill="white" stroke="none" x="0" y="0" width="1677" height="1590"/></g><g/><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 90.10796440579297 95.73914152281817 L 90.10796440579297 1590.4102434728181" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 554.2685011985501 95.73914152281817 L 554.2685011985501 1590.4102434728181" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 95.73914152281817 L 983.4290513427477 1590.4102434728181" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1365.422912567878 95.73914152281817 L 1365.422912567878 1590.4102434728181" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="12.565541,5.445067766666667"/></g><g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 8.167601649999995 51.63409261281818 L 172.04832716158595 51.63409261281818 L 172.04832716158595 95.73914152281817 L 8.167601649999995 95.73914152281817 L 8.167601649999995 51.63409261281818 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="25.8912972305" y="79.40393822281817" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgCopyService</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 459.86147126746414 51.63409261281818 L 648.675531129636 51.63409261281818 L 648.675531129636 95.73914152281817 L 459.86147126746414 95.73914152281817 L 459.86147126746414 51.63409261281818 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="477.58516684796416" y="79.40393822281817" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgLocalMailFolder</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 857.7386885869547 51.63409261281818 L 1109.1194140985406 51.63409261281818 L 1109.1194140985406 95.73914152281817 L 857.7386885869547 95.73914152281817 L 857.7386885869547 51.63409261281818 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="875.4623841674547" y="79.40393822281817" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsCopyMessageStreamListener</text></g><path fill="none" stroke="none"/><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 1297.3325521009035 51.63409261281818 L 1433.5132730348528 51.63409261281818 L 1433.5132730348528 95.73914152281817 L 1297.3325521009035 95.73914152281817 L 1297.3325521009035 51.63409261281818 Z" stroke-miterlimit="10" stroke-width="2.613632528" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1315.0562476814034" y="79.40393822281817" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsImapService</text></g></g><g><g><text fill="black" stroke="none" font-family="sans-serif" font-size="16pt" font-style="normal" font-weight="normal" text-decoration="normal" x="691.816668510437" y="24.651306798181814" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Message copy - IMAP -&gt; Local</text></g><g><rect fill="white" stroke="none" x="109.4379549774596" y="128.4095481228182" width="277.40056099" height="21.23576429"/><rect fill="white" stroke="none" x="109.4379549774596" y="161.0799547228182" width="425.5005670935156" height="21.23576429"/><rect fill="white" stroke="none" x="109.4379549774596" y="177.4151580228182" width="248.0672327429297" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="111.8882354724596" y="143.1112310928182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgLocalMailFolder::CopyMessageTo</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="111.8882354724596" y="175.78163769281818" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Via DoNextCopy, then nsMsgLocalMailFolder::CopyMessages,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="111.8882354724596" y="192.11684099281817" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">with an nsIMsgCopyServiceListener</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 90.10796440579297 198.65092231281818 L 540.8191838148834 198.65092231281818" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,198.65092231281818) translate(-554.2685011985501,-198.65092231281818)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 540.6558317818834 191.84458760448484 L 554.2685011985501 198.65092231281818 L 540.6558317818834 205.45725702115152 Z"/></g></g><g><rect fill="white" stroke="none" x="573.5984917702167" y="267.2587761728182" width="251.76722969117188" height="21.23576429"/><rect fill="white" stroke="none" x="573.5984917702167" y="299.9291827728182" width="390.5005670935156" height="21.23576429"/><rect fill="white" stroke="none" x="573.5984917702167" y="316.2643860728182" width="127.83389534058594" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652167" y="281.9604591428182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsCopyMessageStreamListener::Init</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652167" y="314.6308657428182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">With the current instance of nsMsgLocalMailFolder itself</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652167" y="330.96606904281816" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">as the destination</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 554.2685011985501 337.5001503628182 L 969.979733959081 337.5001503628182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(983.4290513427477,337.5001503628182) translate(-983.4290513427477,-337.5001503628182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 969.816381926081 330.69381565448487 L 983.4290513427477 337.5001503628182 L 969.816381926081 344.30648507115154 Z"/></g></g><g><rect fill="white" stroke="none" x="766.3984957756488" y="362.0029553128182" width="4.90056099" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="768.8487762706488" y="376.70463828281817" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"/></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 383.2387196028182 L 567.7178185822168 383.2387196028182" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray="6.53408132"/><g transform="translate(554.2685011985501,383.2387196028182) translate(-554.2685011985501,-383.2387196028182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 376.43238489448487 L 554.2685011985501 383.2387196028182 L 567.8811706152168 390.04505431115155 Z"/></g></g><g><rect fill="white" stroke="none" x="746.9454284862975" y="440.41193115281817" width="208.80055488648438" height="21.23576429"/><rect fill="white" stroke="none" x="746.9454284862975" y="473.08233775281815" width="425.80055488648435" height="21.23576429"/><rect fill="white" stroke="none" x="746.9454284862975" y="489.41754105281814" width="203.73388923707031" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="749.3957089812975" y="455.11361412281815" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsImapService::CopyMessage</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="749.3957089812975" y="487.7840207228181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Via CopyMessageTo, with the nsCopyMessageStreamListener,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="749.3957089812975" y="504.1192240228181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">QI'd as an nsIStreamListener.</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 554.2685011985501 510.6533053428182 L 1351.9735951842113 510.6533053428182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(1365.422912567878,510.6533053428182) translate(-1365.422912567878,-510.6533053428182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1351.8102431512114 503.8469706344849 L 1365.422912567878 510.6533053428182 L 1351.8102431512114 517.4596400511515 Z"/></g></g><g><rect fill="white" stroke="none" x="1384.7529031395447" y="535.1561102928182" width="255.16722358765625" height="21.23576429"/><rect fill="white" stroke="none" x="1384.7529031395447" y="567.8265168928182" width="183.93390144410156" height="21.23576429"/><rect fill="white" stroke="none" x="1384.7529031395447" y="584.1617201928182" width="171.16722358765625" height="21.23576429"/><rect fill="white" stroke="none" x="1384.7529031395447" y="600.4969234928182" width="270.5672174841406" height="21.23576429"/><rect fill="white" stroke="none" x="1384.7529031395447" y="616.8321267928181" width="185.96722663941406" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1387.2031836345448" y="549.8577932628182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsImapService::GetMessageFromUrl</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1387.2031836345448" y="582.5281998628182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Fetch message, no format</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1387.2031836345448" y="598.8634031628181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">conversion, passing the </text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1387.2031836345448" y="615.1986064628181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsIStreamListener from CopyMessage </text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1387.2031836345448" y="631.5338097628181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">to nsIChannel::AsyncOpen</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1365.422912567878 638.0678910828182 L 1430.763725767878 638.0678910828182 L 1430.763725767878 659.3036553728182 L 1378.8722299515448 659.3036553728182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(1365.422912567878,659.3036553728182) translate(-1365.422912567878,-659.3036553728182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1379.0355819845447 652.4973206644848 L 1365.422912567878 659.3036553728182 L 1379.0355819845447 666.1099900811515 Z"/></g></g><g><rect fill="white" stroke="none" x="1005.425698408555" y="683.8064603228182" width="338.0005670935156" height="21.23576429"/><rect fill="white" stroke="none" x="1005.425698408555" y="716.4768669228182" width="192.5672327429297" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1007.875978903555" y="698.5081432928182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsCopyMessageStreamListener::OnStartRequest</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1007.875978903555" y="731.1785498928182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Via nsIChannel::AsyncOpen</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1365.422912567878 737.7126312128182 L 996.8783687264144 737.7126312128182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(983.4290513427477,737.7126312128182) translate(-983.4290513427477,-737.7126312128182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 997.0417207594144 730.9062965044849 L 983.4290513427477 737.7126312128182 L 997.0417207594144 744.5189659211516 Z"/></g></g><g><rect fill="white" stroke="none" x="648.848492723891" y="762.2154361628182" width="240.00056709351563" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="651.298773218891" y="776.9171191328181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgLocalMailFolder::BeginCopy</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 783.4512004528182 L 567.7178185822168 783.4512004528182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,783.4512004528182) translate(-554.2685011985501,-783.4512004528182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 776.6448657444848 L 554.2685011985501 783.4512004528182 L 567.8811706152168 790.2575351611515 Z"/></g></g><g><rect fill="white" stroke="none" x="573.5984917702168" y="807.9540054028181" width="200.1005579382422" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652168" y="822.6556883728181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Create new message header</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 554.2685011985501 829.1897696928181 L 619.60931439855 829.1897696928181 L 619.60931439855 850.4255339828181 L 567.7178185822168 850.4255339828181" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,850.4255339828181) translate(-554.2685011985501,-850.4255339828181)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 843.6191992744848 L 554.2685011985501 850.4255339828181 L 567.8811706152168 857.2318686911515 Z"/></g></g><g><rect fill="white" stroke="none" x="573.5984917702168" y="874.9283389328182" width="291.5338922888281" height="21.23576429"/><rect fill="white" stroke="none" x="573.5984917702168" y="907.5987455328182" width="207.23388923707031" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652168" y="889.6300219028182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Increment mCopyState-&gt;m_curCopyIndex</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652168" y="922.3004285028181" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Via WriteStartOfNewMessage</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 554.2685011985501 928.8345098228182 L 619.60931439855 928.8345098228182 L 619.60931439855 950.0702741128182 L 567.7178185822168 950.0702741128182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,950.0702741128182) translate(-554.2685011985501,-950.0702741128182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 943.2639394044849 L 554.2685011985501 950.0702741128182 L 567.8811706152168 956.8766088211515 Z"/></g></g><g><rect fill="white" stroke="none" x="1002.7590419144144" y="974.5730790628182" width="343.33388008179685" height="21.23576429"/><rect fill="white" stroke="none" x="1002.7590419144144" y="1007.2434856628182" width="192.5672327429297" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1005.2093224094144" y="989.2747620328182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsCopyMessageStreamListener::OnDataAvailable</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1005.2093224094144" y="1021.9451686328182" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Via nsIChannel::AsyncOpen</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1365.422912567878 1028.4792499528182 L 996.8783687264144 1028.4792499528182" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(983.4290513427477,1028.4792499528182) translate(-983.4290513427477,-1028.4792499528182)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 997.0417207594144 1021.6729152444849 L 983.4290513427477 1028.4792499528182 L 997.0417207594144 1035.2855846611515 Z"/></g></g><g><rect fill="white" stroke="none" x="652.4318286003559" y="1052.9820549028184" width="232.83389534058594" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="654.8821090953559" y="1067.6837378728185" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgLocalMailFolder::CopyData</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 1074.2178191928183 L 567.7178185822168 1074.2178191928183" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,1074.2178191928183) translate(-554.2685011985501,-1074.2178191928183)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 1067.411484484485 L 554.2685011985501 1074.2178191928183 L 567.8811706152168 1081.0241539011515 Z"/></g></g><g><rect fill="white" stroke="none" x="573.5984917702168" y="1098.7206241428182" width="268.6338983923437" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="576.0487722652168" y="1113.4223071128183" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Populate message with streamed data</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 554.2685011985501 1119.9563884328184 L 619.60931439855 1119.9563884328184 L 619.60931439855 1141.1921527228183 L 567.7178185822168 1141.1921527228183" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,1141.1921527228183) translate(-554.2685011985501,-1141.1921527228183)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 1134.385818014485 L 554.2685011985501 1141.1921527228183 L 567.8811706152168 1147.9984874311515 Z"/></g></g><g><rect fill="white" stroke="none" x="1006.2590419144144" y="1165.6949576728184" width="336.33388008179685" height="21.23576429"/><rect fill="white" stroke="none" x="1006.2590419144144" y="1198.3653642728186" width="192.5672327429297" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1008.7093224094144" y="1180.3966406428185" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsCopyMessageStreamListener::OnStopRequest</text><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1008.7093224094144" y="1213.0670472428187" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Via nsIChannel::AsyncOpen</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1365.422912567878 1219.6011285628183 L 996.8783687264144 1219.6011285628183" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(983.4290513427477,1219.6011285628183) translate(-983.4290513427477,-1219.6011285628183)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 997.0417207594144 1212.794793854485 L 983.4290513427477 1219.6011285628183 L 997.0417207594144 1226.4074632711515 Z"/></g></g><g><rect fill="white" stroke="none" x="1002.7590419144144" y="1244.1039335128182" width="65.36722816529297" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1005.2093224094144" y="1258.8056164828183" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">EndCopy</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 1265.3396978028184 L 1048.7698645427477 1265.3396978028184 L 1048.7698645427477 1286.5754620928183 L 996.8783687264144 1286.5754620928183" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(983.4290513427477,1286.5754620928183) translate(-983.4290513427477,-1286.5754620928183)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 997.0417207594144 1279.769127384485 L 983.4290513427477 1286.5754620928183 L 997.0417207594144 1293.3817968011515 Z"/></g></g><g><rect fill="white" stroke="none" x="655.5484973015277" y="1311.0782670428184" width="226.6005579382422" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="657.9987777965277" y="1325.7799500128185" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgLocalMailFolder::EndCopy</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 1332.3140313328183 L 567.7178185822168 1332.3140313328183" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,1332.3140313328183) translate(-554.2685011985501,-1332.3140313328183)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 1325.507696624485 L 554.2685011985501 1332.3140313328183 L 567.8811706152168 1339.1203660411516 Z"/></g></g><g><rect fill="white" stroke="none" x="653.9318286003559" y="1400.9218851928185" width="229.83389534058594" height="21.23576429"/><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="656.3821090953559" y="1415.6235681628186" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">nsMsgLocalMailFolder::EndMove</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 983.4290513427477 1422.1576494828184 L 567.7178185822168 1422.1576494828184" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g transform="translate(554.2685011985501,1422.1576494828184) translate(-554.2685011985501,-1422.1576494828184)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 567.8811706152168 1415.3513147744852 L 554.2685011985501 1422.1576494828184 L 567.8811706152168 1428.9639841911517 Z"/></g></g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 236.29921428973176 1471.1632593828183 L 857.5361051373685 1471.1632593828183 L 872.2377881073685 1485.8649423528184 L 872.2377881073685 1508.7342269728183 L 236.29921428973176 1508.7342269728183 Z" stroke-miterlimit="10" stroke-width="1.3612669416666667" stroke-dasharray=""/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 857.5361051373685 1471.1632593828183 L 857.5361051373685 1485.8649423528184 L 872.2377881073685 1485.8649423528184" stroke-miterlimit="10" stroke-width="1.3612669416666667"/><g><text fill="black" stroke="none" font-family="sans-serif" font-size="11pt" font-style="normal" font-weight="normal" text-decoration="normal" x="259.16849890973174" y="1494.0325440028184" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Calls CopyMessageTo with mCopyState-&gt;m_messages[mCopyState-&gt;m_curCopyIndex]</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 228.13161263973177 223.15372726281817 L 1661.0374501233355 223.15372726281817 L 1661.0374501233355 1533.2370319228182 L 228.13161263973177 1533.2370319228182 L 228.13161263973177 223.15372726281817 Z" stroke-miterlimit="10" stroke-width="2.3336004714285714"/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 228.13161263973177 223.15372726281817 L 228.13161263973177 242.75597122281818 L 286.36868679649444 242.75597122281818 L 296.16980877649445 232.95484924281817 L 296.16980877649445 223.15372726281817 L 228.13161263973177 223.15372726281817" stroke-miterlimit="10" stroke-width="2.3336004714285714"/><g><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="244.46681593973176" y="236.54859396881818" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">loop</text></g><g><rect fill="white" stroke="none" x="310.0547315814944" y="224.78724759281818" width="358.0005670935156" height="16.988611432"/><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="312.50501207649444" y="236.54859396881818" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">[mCopyState-&gt;m_curCopyIndex &lt; total number of messages]</text></g></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 497.0952896485501 1356.8168362828185 L 1040.6022628927476 1356.8168362828185 L 1040.6022628927476 1446.6604544328184 L 497.0952896485501 1446.6604544328184 L 497.0952896485501 1356.8168362828185 Z" stroke-miterlimit="10" stroke-width="2.3336004714285714"/><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 497.0952896485501 1356.8168362828185 L 497.0952896485501 1376.4190802428184 L 545.5656964392849 1376.4190802428184 L 555.3668184192849 1366.6179582628185 L 555.3668184192849 1356.8168362828185 L 497.0952896485501 1356.8168362828185" stroke-miterlimit="10" stroke-width="2.3336004714285714"/><g><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="513.4304929485501" y="1370.2117029888186" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">alt</text></g><g><rect fill="white" stroke="none" x="569.2517412242848" y="1358.4503566128185" width="44.967226639414065" height="16.988611432"/><text fill="black" stroke="none" font-family="sans-serif" font-size="8.8pt" font-style="normal" font-weight="bold" text-decoration="normal" x="571.7020217192849" y="1370.2117029888186" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">[move]</text></g></g></g><g/><g/><g/><g/></g></svg>