Exemplo n.º 1
0
        return $json_spec['major-version'] . $json_spec['minor-version'] . $json_spec['revision'];
    } else {
        return '0' . $json_spec['major-version'] . $json_spec['minor-version'];
    }
}
function protocol_header($json_spec)
{
    if (isset($json_spec['revision'])) {
        $args = array(0, $json_spec['major-version'], $json_spec['minor-version'], $json_spec['revision']);
    } else {
        $args = array(1, 1, $json_spec['major-version'], $json_spec['minor-version']);
    }
    array_unshift($args, 'AMQP\\x%02x\\x%02x\\x%02x\\x%02x');
    return '"' . call_user_func_array('sprintf', $args) . '"';
}
$argumentWriter = new ArgumentWriter();
$out = '<?php' . "\n\n";
$out .= '/* This file was autogenerated by spec/parser.php - Do not modify */' . "\n\n";
$out .= 'namespace PhpAmqpLib\\Helper\\Protocol;' . "\n\n";
$out .= 'use PhpAmqpLib\\Wire\\AMQPWriter;' . "\n";
$out .= 'use PhpAmqpLib\\Wire\\AMQPReader;' . "\n\n";
$out .= 'class Protocol' . protocol_version($json_spec) . "\n";
$out .= "{\n";
$methods = '';
foreach ($json_spec['classes'] as $c) {
    foreach ($c['methods'] as $m) {
        $methods .= "\n";
        if ($m['id'] % 10 == 0) {
            $methodBody = '$args = new AMQPWriter();' . "\n";
            foreach ($m['arguments'] as $arg) {
                $methodBody .= $argumentWriter->call_write_argument($json_spec['domains'], $arg);
Exemplo n.º 2
0
{
    if (isset($json_spec['revision'])) {
        return $json_spec['major-version'] . $json_spec['minor-version'] . $json_spec['revision'];
    } else {
        return "0" . $json_spec['major-version'] . $json_spec['minor-version'];
    }
}
function protocol_header($json_spec)
{
    if (isset($json_spec['revision'])) {
        return sprintf("AMQP\\x%02x\\x%02x\\x%02x\\x%02x", 0, $json_spec['major-version'], $json_spec['minor-version'], $json_spec['revision']);
    } else {
        return sprintf("AMQP\\x%02x\\x%02x\\x%02x\\x%02x", 1, 1, $json_spec['major-version'], $json_spec['minor-version']);
    }
}
$argumentWriter = new ArgumentWriter();
$out = "<?php\n\n";
$out .= "/* This file was autogenerated by spec/parser.php - Do not modify */\n\n";
$out .= "namespace PhpAmqpLib\\Helper\\Protocol;\n\n";
$out .= "use PhpAmqpLib\\Wire\\AMQPWriter;\n\n";
$out .= "class Protocol" . protocol_version($json_spec) . "\n";
$out .= "{\n";
foreach ($json_spec['classes'] as $c) {
    foreach ($c['methods'] as $m) {
        if ($m['id'] % 10 == 0) {
            $out .= "\n\tpublic function " . method_name($c['name'], $m['name']) . "(";
            $out .= add_method_arguments($m['arguments']);
            $out .= ") {\n";
            $out .= "\t\t\$args = new AMQPWriter();\n";
            foreach ($m['arguments'] as $arg) {
                $out .= $argumentWriter->call_write_argument($json_spec['domains'], $arg);