X-Git-Url: https://mop.ddnsfree.com/gitweb/?p=curl-de-sac.git;a=blobdiff_plain;f=web%2FObj%2Fcurl-de-sac.phh;fp=web%2FObj%2Fcurl-de-sac.phh;h=f7911871fd485e47847c42ef59be60256658603e;hp=ac7744dfc108c7dcb3704bacc502ea25787744ce;hb=3d134990bee924e6e833c5c22ef2cb65524769d7;hpb=7edbe80f9797346b9950db411461f306d0e4b15d diff --git a/web/Obj/curl-de-sac.phh b/web/Obj/curl-de-sac.phh index ac7744d..f791187 100644 --- a/web/Obj/curl-de-sac.phh +++ b/web/Obj/curl-de-sac.phh @@ -25,26 +25,33 @@ $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(); }