<?php

class IXR_ClientMulticall extends IXR_Client
{
    var $calls = array();
    function __construct($server, $path = false, $port = 80)
    {
        parent::IXR_Client($server, $path, $port);
        $this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
    }
    public function IXR_ClientMulticall($server, $path = false, $port = 80)
    {
        self::__construct($server, $path, $port);
    }
    function addCall(...$args)
    {
        $methodName = array_shift($args);
        $struct = array('methodName' => $methodName, 'params' => $args);
        $this->calls[] = $struct;
    }
    function query(...$args)
    {
        return parent::query('system.multicall', $this->calls);
    }
}