$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)
$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;
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();
}