Example #1
0
 /**
  * @param $input raw protocol buffers message
  * @return \google\protobuf\compiler\CodeGeneratorResponse
  */
 public function compile($input)
 {
     $packages = array();
     $req = \ProtocolBuffers::decode('google\\protobuf\\compiler\\CodeGeneratorRequest', $input);
     $this->setupFullName($req);
     $this->setupDictionary($req);
     /* @var $req \google\protobuf\compiler\CodeGeneratorRequest */
     $parameter = array();
     $resp = new \google\protobuf\compiler\CodeGeneratorResponse();
     $context = new GeneratorContext($resp);
     $gen = new Generator();
     $error = new StringStream();
     PragmaticInserter::loadYaml(".protoc.php.yml");
     foreach ($req->getProtoFile() as $file_descriptor) {
         if (!in_array($file_descriptor->getName(), $req->getFileToGenerate())) {
             //error_log($file_descriptor->getName());
             continue;
         }
         $gen->generate($file_descriptor, $parameter, $context, $error);
     }
     $resp->setError($error);
     return $resp;
 }