<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mariush T. - Flex Developer, Blogger &#187; Multicore</title>
	<atom:link href="http://mariusht.com/blog/tag/multicore/feed/" rel="self" type="application/rss+xml" />
	<link>http://mariusht.com/blog</link>
	<description>A blog about Flex Development.</description>
	<lastBuildDate>Tue, 11 Oct 2011 08:56:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Custom Pipe Messages</title>
		<link>http://mariusht.com/blog/2010/01/25/custom-pipe-messages/</link>
		<comments>http://mariusht.com/blog/2010/01/25/custom-pipe-messages/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 02:51:12 +0000</pubDate>
		<dc:creator>Mariush T.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Pipe Message]]></category>
		<category><![CDATA[Pipes Utility]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://mariusht.com/blog/?p=1831</guid>
		<description><![CDATA[Strongly typed messages are used to communicate between cores in PureMVC MultiCore application with Pipes Utility. Below is a simple example of a custom pipe message class, and a JunctionMediator using the custom message. Message names are defined in the message itself which makes the message handling very easy.
ContactMessage.as
package com.mariusht.contactmanager.common.messages
{
    import com.mariusht.contactmanager.common.model.vo.ContactVO;

 [...]]]></description>
			<content:encoded><![CDATA[<p>Strongly typed messages are used to communicate between cores in PureMVC MultiCore application with Pipes Utility. Below is a simple example of a custom pipe message class, and a JunctionMediator using the custom message. Message names are defined in the message itself which makes the message handling very easy.</p>
<p><span id="more-1831"></span>ContactMessage.as
<pre class="MXML"><span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">mariusht</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">contactmanager</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">common</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">messages</span>
<span class="ActionScriptBracket/Brace">{</span>
    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">mariusht</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">contactmanager</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">common</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">model</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">vo</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ContactVO</span>;

    <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">org</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">puremvc</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">as3</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">multicore</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utilities</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">pipes</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">messages</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">Message</span>;

    <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">ContactMessage</span> <span class="ActionScriptReserved">extends</span> <span class="ActionScriptDefault_Text">Message</span>
    <span class="ActionScriptBracket/Brace">{</span>
        <span class="ActionScriptReserved">protected</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">NAME</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptString">'ContactMessage'</span>;

        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">ADD_CONTACT</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/add'</span>;
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">CONTACT_ADDED</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/added'</span>;
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">CONTACT_ADD_FAILED</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/add/failed'</span>;

        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">UPDATE_CONTACT</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/update'</span>;
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">CONTACT_UPDATED</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/updated'</span>;
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">CONTACT_UPDATE_FAILED</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/update/failed'</span>;

        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">REMOVE_CONTACT</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/remove'</span>;
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">CONTACT_REMOVED</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/removed'</span>;
        <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptReserved">const</span> <span class="ActionScriptDefault_Text">CONTACT_REMOVE_FAILED</span>:<span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">NAME</span> <span class="ActionScriptOperator">+</span> <span class="ActionScriptString">'/message/contact/remove/failed'</span>;

        <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">type</span>:<span class="ActionScriptDefault_Text">String</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">contact</span>:<span class="ActionScriptDefault_Text">ContactVO</span><span class="ActionScriptOperator">=</span><span class="ActionScriptDefault_Text">nulll</span><span class="ActionScriptBracket/Brace">)</span>
        <span class="ActionScriptBracket/Brace">{</span>
            <span class="ActionScriptComment">// add headers if needed
</span>            <span class="ActionScriptReserved">super</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">type</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">contact</span><span class="ActionScriptBracket/Brace">)</span>;
        <span class="ActionScriptBracket/Brace">}</span> 

        <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptReserved">get</span> <span class="ActionScriptDefault_Text">contact</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptDefault_Text">ContactVO</span>
        <span class="ActionScriptBracket/Brace">{</span>
            <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">body</span> <span class="ActionScriptReserved">as</span> <span class="ActionScriptDefault_Text">ContactVO</span>;
        <span class="ActionScriptBracket/Brace">}</span>
    <span class="ActionScriptBracket/Brace">}</span>
<span class="ActionScriptBracket/Brace">}</span></pre>
<p>JunctionMediator.as</p>
<pre class="MXML"><span class="ActionScriptOperator">...</span>
<span class="ActionScriptReserved">override</span> <span class="ActionScriptReserved">public</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">handlePipeMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span>:<span class="ActionScriptDefault_Text">IPipeMessage</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
<span class="ActionScriptBracket/Brace">{</span>
    <span class="ActionScriptReserved">switch</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getType</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptBracket/Brace">)</span>
    <span class="ActionScriptBracket/Brace">{</span>
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ScreenMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">GET</span>:
            <span class="ActionScriptComment">//
</span>            <span class="ActionScriptReserved">break</span>;
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">CONTACT_ADDED</span>:
            <span class="ActionScriptDefault_Text">contactsProxy</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addContact</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">contact</span> <span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">break</span>;
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">CONTACT_UPDATED</span>:
            <span class="ActionScriptDefault_Text">contactsProxy</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">updateContact</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">contact</span> <span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">break</span>;
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">CONTACT_REMOVED</span>:
            <span class="ActionScriptDefault_Text">contactsProxy</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">removeContact</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">ContactMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">contact</span> <span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">break</span>;
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ItemMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ITEM_ADDED</span>:
            <span class="ActionScriptDefault_Text">itemsProxy</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addItem</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">ItemMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">item</span> <span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">break</span>;
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ItemMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ITEM_UPDATED</span>:
            <span class="ActionScriptDefault_Text">itemsProxy</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">updateItem</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">ItemMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">item</span> <span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">break</span>;
        <span class="ActionScriptReserved">case</span> <span class="ActionScriptDefault_Text">ItemMessage</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ITEM_REMOVED</span>:
            <span class="ActionScriptDefault_Text">itemsProxy</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">removeItem</span><span class="ActionScriptBracket/Brace">(</span> <span class="ActionScriptDefault_Text">ItemMessage</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">message</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">item</span> <span class="ActionScriptBracket/Brace">)</span>;
            <span class="ActionScriptReserved">break</span>;
    <span class="ActionScriptBracket/Brace">}</span>
<span class="ActionScriptBracket/Brace">}</span>
<span class="ActionScriptOperator">...</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://mariusht.com/blog/2010/01/25/custom-pipe-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Module to Module communication</title>
		<link>http://mariusht.com/blog/2009/07/08/module-to-module-communication/</link>
		<comments>http://mariusht.com/blog/2009/07/08/module-to-module-communication/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 17:04:01 +0000</pubDate>
		<dc:creator>Mariush T.</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[Multicore]]></category>
		<category><![CDATA[Pipes]]></category>
		<category><![CDATA[PureMVC]]></category>

		<guid isPermaLink="false">http://mariusht.com/blog/?p=1183</guid>
		<description><![CDATA[This example is implemented using PureMVC and demonstrates how to load dynamically, connect and communicate Modules that have been implemented using the PureMVC framework.GreenModule communicates with BlueModule directly through pipe(no need for sending messages to Shell/Application and from Shell back to the Module). The same happens for BlueModule-GreenModule communication, messages are sent through pipe.
View and study [...]]]></description>
			<content:encoded><![CDATA[<p>This example is implemented using PureMVC and demonstrates how to load dynamically, connect and communicate Modules that have been implemented using the PureMVC framework.<img class="alignnone" src="http://mariusht.com/files/blog/module_to_module_comm/mm_comm.jpg" alt="" width="669" height="300" />GreenModule communicates with BlueModule directly through pipe(no need for sending messages to Shell/Application and from Shell back to the Module). The same happens for BlueModule-GreenModule communication, messages are sent through pipe.</p>
<p><a href="http://mariusht.com/files/blog/module_to_module_comm/demo/srcview/" target="_blank">View and study Source Code</a><br />
<span id="more-1183"></span><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="669" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="name" value="ModuleToModuleSC1" />
<param name="bgcolor" value="#869ca7" />
<param name="align" value="middle" />
<param name="src" value="http://mariusht.com/files/blog/module_to_module_comm/demo/ModuleToModuleSC1.swf" />
<param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="669" height="350" src="http://mariusht.com/files/blog/module_to_module_comm/demo/ModuleToModuleSC1.swf" quality="high" align="middle" bgcolor="#869ca7" name="ModuleToModuleSC1"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://mariusht.com/blog/2009/07/08/module-to-module-communication/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

