X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fcurl-de-sac.phh;h=8c295bd96d6743932bf2f2d9890f3fea341430d0;hb=cbc55a7b9f2928c7f84a0b52d8e8bab73806bc03;hp=ac7744dfc108c7dcb3704bacc502ea25787744ce;hpb=7edbe80f9797346b9950db411461f306d0e4b15d;p=curl-de-sac.git diff --git a/web/Obj/curl-de-sac.phh b/web/Obj/curl-de-sac.phh index ac7744d..8c295bd 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) @@ -98,7 +105,7 @@ class Curl_de_sac { $this->dbg = $dbg; } - function cmd_register($cmd_cls) + function cmd_cls_register($cmd_cls) { if (get_class($cmd_cls) != 'CDS_cmd_cls' && is_subclass_of($cmd_cls, 'CDS_cmd_cls') == FALSE) return FALSE; @@ -107,23 +114,30 @@ class Curl_de_sac { return FALSE; $this->cmd_cls[$cmd_cls->name] = $cmd_cls; + $cmd_cls->cds_set($this); return TRUE; } - function cmd_deregister($cmd_cls) + function cmd_cls_deregister($cmd_cls) { if (get_class($cmd_cls) != 'CDS_cmd_cls' && is_subclass_of($cmd_cls, 'CDS_cmd_cls') == FALSE) return FALSE; 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() + function cmd_cls_deregister_all() { + foreach($this->cmd_cls as $cmd_cls) { + $cmd_cls->cds_set(NULL); + } + $this->cmd_cls = array(); }