templates/as3/org/rubyforge/dango/DangoClientFramework.as in dango_generator-0.4.3 vs templates/as3/org/rubyforge/dango/DangoClientFramework.as in dango_generator-0.4.5
- old
+ new
@@ -9,11 +9,10 @@
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.system.*;
import flash.display.*;
- import mx.utils.ObjectUtil;
import com.adobe.serialization.json.JSON;
import flash.events.IEventDispatcher;
import flash.events.EventDispatcher;
@@ -74,11 +73,11 @@
* @param config:*
* @return void
*/
public function DangoClientFramework(config:*){
trace("DangoClientFramework start...");
- trace("config=" + ObjectUtil.toString(config));
+ trace("config=" + config);
// 設定ファイルの読み込み
if(config.hasOwnProperty("server_host")){ server_host = config.server_host; }
if(config.hasOwnProperty("server_port")){ server_port = config.server_port; }
if(config.hasOwnProperty("debug" )){ is_debug = config.debug; }
@@ -363,11 +362,11 @@
} catch(err:Error){
// this.dispatchEvent(new DangoErrorEvent("DangoError", DangoErrorCode.IOError, "failed in DangoClientFramework:socket_read_push_cache:receive_cache_do_phase == 0"));
// キャッシュに残っているデータを消して再度初めから受信できるようにする
- trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==0:err=" + ObjectUtil.toString(err));
+ trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==0:err=" + err);
receive_cache_do_phase = 0; // 長さから取得する
receive_cache_byta = new ByteArray; // キャッシュを空にする
break;
}
@@ -414,11 +413,11 @@
} catch(err:Error){
// this.dispatchEvent(new DangoErrorEvent("DangoError", DangoErrorCode.IOError, "failed in DangoClientFramework:socket_read_push_cache:receive_cache_do_phase == 1"));
// キャッシュに残っているデータを消して再度初めから受信できるようにする
- trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==1:err=" + ObjectUtil.toString(err));
+ trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==1:err=" + err);
receive_cache_do_phase = 0; // 長さから取得する
receive_cache_byta = new ByteArray; // キャッシュを空にする
break;
}
}
@@ -449,10 +448,11 @@
if(notice_name == "_notice_sid"){ // 接続直後のsid通知なら
this.sid = recv_data["_sid"];
has_sid = true;
if(is_debug){ trace("DangoClientFramework:this.sid=" + this.sid + " server_time=" + server_time); }
+ this.dispatchEvent(new DangoReceiveEvent("dango__connect", {}, count_no));
} else { // 通常のデータならイベント発生
if(is_debug){ trace("DangoClientFramework:dispatchEvent:dango_" + notice_name + " server_time=" + server_time); }
this.dispatchEvent(new DangoReceiveEvent("dango__before_filter", recv_data, count_no));
this.dispatchEvent(new DangoReceiveEvent("dango_" + notice_name, recv_data, count_no));
@@ -530,11 +530,11 @@
if(is_debug){ trace("DangoClientFramework:send_action:start:action_name=" + action_name + ":delay=" + delay + ":is_connect=" + is_connect + ":has_sid=" + has_sid + ":" + DangoUtil.now2str()); }
// if(!is_connect){ throw new DangoError("error:not connect"); } // 接続されていない場合はエラー
// 送信データの作成
- var send_obj_dup:Object = ObjectUtil.copy(send_obj);
+ var send_obj_dup:Object = DangoUtil.deep_copy(send_obj);
send_obj_dup["_action_name"] = action_name;
send_obj_dup["_return_id"] = (new Date()).time;
// delayフラグがあったり、接続がまだなら、遅延送信用のキャッシュにデータを入れる
if(delay || !is_connect || (action_name != "_notice_heart_beat" && !has_sid)){
@@ -555,12 +555,10 @@
*
* @param send_obj:Array
* @return void
*/
public function send_data_to_server( send_obj:Array ):void {
-// if(is_debug){ trace("DangoClientFramework:send_data_to_server:send_obj=" + ObjectUtil.toString(send_obj)); }
-
var encode_type:uint = default_encode_type;
// データが空ならJSONencodeしない
var send_obj_str:String;
if(send_obj == null){
@@ -588,16 +586,38 @@
// if(is_debug){ trace("DangoClientFramework:send_obj_str:" + send_obj_str + ":" + DangoUtil.now2str()); }
}
/**
- * dango_before_filter の雛形
+ * dango__connect の雛形
* すべてのdango通知の前処理用のメソッド
* オーバーライドして使うもの
*
* @param evt:DangoReceiveEvent
* @return void
+ protected function dango__connect(evt:Object):void {
+ }
*/
- protected function dango__before_filter(evt:Object):void {
+
+ /**
+ * dango__after_filter の雛形
+ * すべてのdango通知の前処理用のメソッド
+ * オーバーライドして使うもの
+ *
+ * @param evt:DangoReceiveEvent
+ * @return void
+ protected function dango__after_filter(evt:Object):void {
}
+ */
+
+ /**
+ * dango__after_filter の雛形
+ * すべてのdango通知の前処理用のメソッド
+ * オーバーライドして使うもの
+ *
+ * @param evt:DangoReceiveEvent
+ * @return void
+ protected function dango__after_filter(evt:Object):void {
+ }
+ */
}
}