root/as3/Thread/trunk/src/org/libspark/thread/EventHandler.as

リビジョン 2106, 2.4 kB (コミッタ: yossy, コミット時期: 3 年 前)

Thread: Flash CS4 でビルドできない問題に暫定的に対応

Line 
1 /*
2  * ActionScript Thread Library
3  *
4  * Licensed under the MIT License
5  *
6  * Copyright (c) 2008 BeInteractive! (www.be-interactive.org) and
7  *                    Spark project  (www.libspark.org)
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
10  * of this software and associated documentation files (the "Software"), to deal
11  * in the Software without restriction, including without limitation the rights
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13  * copies of the Software, and to permit persons to whom the Software is
14  * furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in
17  * all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25  * THE SOFTWARE.
26  *
27  */
28 package org.libspark.thread
29 {
30         import flash.events.Event;
31         import flash.events.IEventDispatcher;
32        
33         /**
34          * @author      yossy:beinteractive
35          * @private
36          */
37         internal class EventHandler
38         {
39                 public function EventHandler(dispatcher:IEventDispatcher, type:String, listener:Function, func:Function, useCapture:Boolean, priority:int, useWeakReference:Boolean)
40                 {
41                         this.dispatcher = dispatcher;
42                         this.type = type;
43                         this.listener = listener;
44                         this.func = func;
45                         this.useCapture = useCapture;
46                         this.priority = priority;
47                         this.useWeakReference = useWeakReference;
48                 }
49                
50                 public var dispatcher:IEventDispatcher;
51                 public var type:String;
52                 public var listener:Function;
53                 public var func:Function;
54                 public var useCapture:Boolean;
55                 public var priority:int;
56                 public var useWeakReference:Boolean;
57                
58                 public function register():void
59                 {
60                         dispatcher.addEventListener(type, handler, useCapture, priority, useWeakReference);
61                 }
62                
63                 public function unregister():void
64                 {
65                         dispatcher.removeEventListener(type, handler, useCapture);
66                 }
67                
68                 private function handler(e:Event):void
69                 {
70                         listener(e, this);
71                 }
72         }
73 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。