1ffe3c632Sopenharmony_ci<?php
2ffe3c632Sopenharmony_ci
3ffe3c632Sopenharmony_cidefine("GOOGLE_INTERNAL_NAMESPACE", "Google\\Protobuf\\Internal\\");
4ffe3c632Sopenharmony_cidefine("GOOGLE_NAMESPACE", "Google\\Protobuf\\");
5ffe3c632Sopenharmony_cidefine("GOOGLE_GPBMETADATA_NAMESPACE", "GPBMetadata\\Google\\Protobuf\\");
6ffe3c632Sopenharmony_cidefine("BENCHMARK_NAMESPACE", "Benchmarks");
7ffe3c632Sopenharmony_cidefine("BENCHMARK_GPBMETADATA_NAMESPACE", "GPBMetadata\\Benchmarks");
8ffe3c632Sopenharmony_ci
9ffe3c632Sopenharmony_cifunction protobuf_autoloader_impl($class, $prefix, $include_path) {
10ffe3c632Sopenharmony_ci    $length = strlen($prefix);
11ffe3c632Sopenharmony_ci    if ((substr($class, 0, $length) === $prefix)) {
12ffe3c632Sopenharmony_ci        $path = $include_path . '/' . implode('/', array_map('ucwords', explode('\\', $class))) . '.php';
13ffe3c632Sopenharmony_ci        include_once $path;
14ffe3c632Sopenharmony_ci    }
15ffe3c632Sopenharmony_ci}
16ffe3c632Sopenharmony_ci
17ffe3c632Sopenharmony_cifunction protobuf_autoloader($class) {
18ffe3c632Sopenharmony_ci    protobuf_autoloader_impl($class, GOOGLE_INTERNAL_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR'));
19ffe3c632Sopenharmony_ci    protobuf_autoloader_impl($class, GOOGLE_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR'));
20ffe3c632Sopenharmony_ci    protobuf_autoloader_impl($class, GOOGLE_GPBMETADATA_NAMESPACE, getenv('PROTOBUF_PHP_SRCDIR'));
21ffe3c632Sopenharmony_ci    protobuf_autoloader_impl($class, BENCHMARK_NAMESPACE, getenv('CURRENT_DIR'));
22ffe3c632Sopenharmony_ci    protobuf_autoloader_impl($class, BENCHMARK_GPBMETADATA_NAMESPACE, getenv('CURRENT_DIR'));
23ffe3c632Sopenharmony_ci}
24ffe3c632Sopenharmony_ci
25ffe3c632Sopenharmony_cispl_autoload_register('protobuf_autoloader');
26