Hi,
The PHP Xml-Rpc CodeGen does not seem to include properties from ancestor structures. In below code, MyStruct inherits from BaseStruct.
class BaseStruct {
public $Name; // AnsiString
function BaseStruct() {}
static function FromXmlRpcVal($n) {
$res = new BaseStruct();
$res->Name = $n->structmem("Name")->scalarval();
return $res;
}
static function ToXmlRpcVal($data) {
$res = new xmlrpcval();
$arr = array();
$arr["Name"] = new xmlrpcval($data->Name, "string");
$res->addStruct($arr);
return $res;
}
static function FromArray($data)
{
$items = array();
for ($i = 0; $i < sizeof($data); $i++) {
$items[$i] = BaseStruct::ToXmlRpcVal($data[$i]);
}
$res = new xmlrpcval();
$res->addArray($items);;
return $res;
}
static function ToArray($data)
{
$items = array();
for ($i = 0; $i < $data->arraysize(); $i++) $items[$i] = BaseStruct::FromXmlRpcVal($data->arraymem($i));
return $items;
}
}
class MyStruct {
public $Surname; // AnsiString
function MyStruct() {}
static function FromXmlRpcVal($n) {
$res = new MyStruct();
$res->Surname = $n->structmem("Surname")->scalarval();
return $res;
}
static function ToXmlRpcVal($data) {
$res = new xmlrpcval();
$arr = array();
$arr["Surname"] = new xmlrpcval($data->Surname, "string");
$res->addStruct($arr);
return $res;
}
static function FromArray($data)
{
$items = array();
for ($i = 0; $i < sizeof($data); $i++) {
$items[$i] = MyStruct::ToXmlRpcVal($data[$i]);
}
$res = new xmlrpcval();
$res->addArray($items);;
return $res;
}
static function ToArray($data)
{
$items = array();
for ($i = 0; $i < $data->arraysize(); $i++) $items[$i] = MyStruct::FromXmlRpcVal($data->arraymem($i));
return $items;
}
}