swap 'cmd_cls' and 'ch' arguments in cmd creation
authorMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Mon, 8 Sep 2014 06:18:09 +0000 (08:18 +0200)
committerMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Mon, 8 Sep 2014 06:18:09 +0000 (08:18 +0200)
web/Obj/curl-de-sac.phh
webtest/cds_test01.php

index ac7744d..f791187 100644 (file)
 $G_curl_de_sac_version = "0.1";
 
 class CDS_cmd {
-    var $ch;
     var $cmd_cls;
+    var $ch;
 
-    function CDS_cmd($ch, $cmd_cls)
+    function CDS_cmd($cmd_cls, $ch)
     {
-        $this->ch = $ch;
         $this->cmd_cls = $cmd_cls;
+        $this->ch = $ch;
     }
 }
 
 class CDS_cmd_cls {
+    var $cds;
     var $name;
     var $tout;
 
     function CDS_cmd_cls($name, $tout)
     {
+        $this->cds = NULL;
         $this->name = $name;
         $this->tout = $tout;
     }
 
+    function cds_set($cds)
+    {
+        $this->cds = $cds;
+    }
+
     static function pre_create($url)
     {
         if (($ch = curl_init()) == FALSE)
@@ -107,6 +114,7 @@ class Curl_de_sac {
             return FALSE;
 
         $this->cmd_cls[$cmd_cls->name] = $cmd_cls;
+        $cmd_cls->cds_set($this);
 
         return TRUE;
     }
@@ -118,12 +126,18 @@ class Curl_de_sac {
         if (!isset($this->cmd_cls[$cmd_cls->name]))
             return FALSE;
 
+        $this->cmd_cls[$cmd_cls->name]->cds_set(NULL);
+
         unset($this->cmd_cls[$cmd_cls->name]);
         return TRUE;
     }
 
     function cmd_deregister_all()
     {
+        foreach($this->cmd_cls as $cmd_cls) {
+            $cmd_cls->cds_set(NULL);
+        }
+
         $this->cmd_cls = array();
     }
 
index ed005fc..4a649ae 100755 (executable)
@@ -8,9 +8,9 @@ require_once('Obj/curl-de-sac.phh');
 class short_cmd extends CDS_cmd {
     var $short_data;
 
-    function short_cmd($ch, $cmd_cls, $short_data)
+    function short_cmd($cmd_cls, $ch, $short_data)
     {
-        parent::__construct($ch, $cmd_cls);
+        parent::__construct($cmd_cls, $ch);
         $this->short_data = $short_data;
     }
 }
@@ -49,9 +49,9 @@ class short_cmd_cls extends CDS_cmd_cls {
 class long_cmd extends CDS_cmd {
     var $long_data;
 
-    function long_cmd($ch, $cmd_cls, $long_data)
+    function long_cmd($cmd_cls, $ch, $long_data)
     {
-        parent::__construct($ch, $cmd_cls);
+        parent::__construct($cmd_cls, $ch);
         $this->long_data = $long_data;
     }
 }