[tor-commits] [flashproxy/rtmfp] Refactor InternetFreedomBadge (now Badge).

dcf at torproject.org dcf at torproject.org
Sun Jun 12 08:56:32 UTC 2011


commit 024e47f75fa52f3fa65659e05f0e8e6358b59285
Author: David Fifield <david at bamsoftware.com>
Date:   Sat Jun 11 13:34:30 2011 -0700

    Refactor InternetFreedomBadge (now Badge).
    
    Make it its own Sprite, don't cause it to change the UI of the main
    display. Use proxy_begin and proxy_end methods instead of modifying
    current/total counts directly.
---
 swfcat.as |   76 ++++++++++++++++++++++--------------------------------------
 1 files changed, 28 insertions(+), 48 deletions(-)

diff --git a/swfcat.as b/swfcat.as
index d0aad9a..d24c833 100644
--- a/swfcat.as
+++ b/swfcat.as
@@ -60,7 +60,7 @@ package
         private var output_text:TextField;
         
         /* Badge for display */
-        private var badge:InternetFreedomBadge;
+        private var badge:Badge;
 
         private var fac_addr:Object;
         private var relay_addr:Object;
@@ -94,8 +94,8 @@ package
             debug_mode = (this.loaderInfo.parameters["debug"] != null)
             proxy_mode = (this.loaderInfo.parameters["proxy"] != null);
             if (proxy_mode && !debug_mode) {
-                badge = new InternetFreedomBadge(this);
-                badge.display();
+                badge = new Badge();
+                addChild(badge);
             } else {
                 output_text = new TextField();
                 output_text.width = stage.stageWidth;
@@ -170,8 +170,7 @@ package
                     start_proxy_pair();
                     s_c.send_hello(e.peer);
                 } else if (!debug_mode && badge != null) {
-                    badge.total_proxy_pairs++;
-                    badge.num_proxy_pairs++;
+                    badge.proxy_begin();
                 }
                 
                 p_p.client = {peer: e.peer, stream: e.stream};
@@ -234,7 +233,7 @@ package
                 puts("ProxyPair: connection closed.");
                 p_p = null;
                 if (proxy_mode && !debug_mode && badge != null) {
-                    badge.num_proxy_pairs--;
+                    badge.proxy_end();
                 }
                 establish_facilitator_connection();
             });
@@ -278,29 +277,25 @@ package
     }
 }
 
-import flash.text.TextField;
 import flash.text.TextFormat;
+import flash.text.TextField;
+
+class Badge extends flash.display.Sprite
+{
+    /* Number of proxy pairs currently connected. */
+    private var num_proxy_pairs:int = 0;
+    /* Number of proxy pairs ever connected. */
+    private var total_proxy_pairs:int = 0;
 
-class InternetFreedomBadge {
-    
-    private var ui:swfcat;
-    
-    private var _num_proxy_pairs:uint;
-    private var _total_proxy_pairs:uint;
-    
     [Embed(source="badge.png")]
     private var BadgeImage:Class;
     private var tot_client_count_tf:TextField;
     private var tot_client_count_fmt:TextFormat;
     private var cur_client_count_tf:TextField;
     private var cur_client_count_fmt:TextFormat;
-    
-    public function InternetFreedomBadge(ui:swfcat)
+
+    public function Badge()
     {
-        this.ui = ui;
-        _num_proxy_pairs = 0;
-        _total_proxy_pairs = 0;
-        
         /* Setup client counter for badge. */
         tot_client_count_fmt = new TextFormat();
         tot_client_count_fmt.color = 0xFFFFFF;
@@ -330,42 +325,27 @@ class InternetFreedomBadge {
         cur_client_count_tf.x=47;
         cur_client_count_tf.y=6;
 
+        addChild(new BadgeImage());
+        addChild(tot_client_count_tf);
+        addChild(cur_client_count_tf);
+
         /* Update the client counter on badge. */
         update_client_count();
     }
-    
-    public function display():void
-    {
-        ui.addChild(new BadgeImage());
-        /* Tried unsuccessfully to add counter to badge. */
-        /* For now, need two addChilds :( */
-        ui.addChild(tot_client_count_tf);
-        ui.addChild(cur_client_count_tf);
-    }
-    
-    public function get num_proxy_pairs():uint
-    {
-        return _num_proxy_pairs;
-    }
-    
-    public function set num_proxy_pairs(amount:uint):void
+
+    public function proxy_begin():void
     {
-        _num_proxy_pairs = amount;
+        num_proxy_pairs++;
+        total_proxy_pairs++;
         update_client_count();
     }
-    
-    public function get total_proxy_pairs():uint
-    {
-        return _total_proxy_pairs;
-    }
-    
-    public function set total_proxy_pairs(amount:uint):void
+
+    public function proxy_end():void
     {
-        _total_proxy_pairs = amount;
-        /* note: doesn't update, so be sure to update this
-           before you update num_proxy_pairs! */
+        num_proxy_pairs--;
+        update_client_count();
     }
-    
+
     private function update_client_count():void
     {
         /* Update total client count. */





More information about the tor-commits mailing list