Flexで〜Service要素を作る
mx.core.IMXMLObjectインターフェイスを実装したクラス作ると、<HTTPService>要素のような、描画はされないけどMXMLに組み込める要素を作れるようです。
mx.core.IMXMLObjectにはinitializedというメソッドしかないので、作るのは簡単です。initializedメソッドはMXMLのプロパティの初期化が完了すると呼ばれるメソッドで、ここでサーバーに接続するなどなどの処理を行えばOKです。
FlexでターミナルエミュレータのTelnetクライアントはmx.core.IMXMLObjectを実装しているので、なにも描画しませんがMXMLに組み込むことができます。
<TelnetService id="telnet" host="localhost" port="7777"/> <Terminal id="terminal" dataProvider="{telnet}"/>
(dataProvider="{telnet}"のあたりがイケてますよねー)
詳しくはAdobeのドキュメントを。
TelnetServiceの中身は↓こんな感じになっています。
import mx.core.IMXMLObject; public class TelnetService extends Telnet implements IMXMLObject { private var _host:String; private var _port:int = 0; public function TelnetService():void { super(); } public function set host(h:String):void { _host = h; } public function get host():String { return _host } public function set port(p:int):void { _port = p; } public function get port():int { return _port; } public function initialized(document:Object, id:String):void { if(_port != 0) { connect(_host, _port); } } }