drop opentelemetry

This commit is contained in:
Andrew Dolgov 2024-10-01 16:00:34 +03:00
parent 8fcc68baf5
commit 884fd92f13
No known key found for this signature in database
GPG Key ID: 1A56B4FA25D4AF2A
749 changed files with 40 additions and 70939 deletions

View File

@ -35,8 +35,6 @@
return;
}
$span = OpenTelemetry\API\Trace\Span::getCurrent();
header("Content-Type: text/json; charset=utf-8");
if (Config::get(Config::SINGLE_USER_MODE)) {
@ -48,7 +46,6 @@
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNAUTHORIZED);
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
return;
}
UserHelper::load_user_plugins($_SESSION["uid"]);
@ -57,7 +54,6 @@
if (Config::is_migration_needed()) {
print Errors::to_json(Errors::E_SCHEMA_MISMATCH);
$span->setAttribute('error', Errors::E_SCHEMA_MISMATCH);
return;
}
@ -120,7 +116,6 @@
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNAUTHORIZED);
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
return;
}
@ -133,16 +128,14 @@
}
if (implements_interface($handler, 'IHandler')) {
$span->addEvent("construct/$op");
$handler->__construct($_REQUEST);
if (validate_csrf($csrf_token) || $handler->csrf_ignore($method)) {
$span->addEvent("before/$method");
$before = $handler->before($method);
if ($before) {
$span->addEvent("method/$method");
if ($method && method_exists($handler, $method)) {
$reflection = new ReflectionMethod($handler, $method);
@ -152,7 +145,6 @@
user_error("Refusing to invoke method $method of handler $op which has required parameters.", E_USER_WARNING);
header("Content-Type: text/json");
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
print Errors::to_json(Errors::E_UNAUTHORIZED);
}
} else {
@ -161,19 +153,16 @@
} else {
header("Content-Type: text/json");
$span->setAttribute('error', Errors::E_UNKNOWN_METHOD);
print Errors::to_json(Errors::E_UNKNOWN_METHOD, ["info" => get_class($handler) . "->$method"]);
}
}
$span->addEvent("after/$method");
$handler->after();
return;
} else {
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNAUTHORIZED);
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
return;
}
} else {
@ -181,7 +170,6 @@
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNAUTHORIZED);
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
return;
}
}
@ -190,4 +178,3 @@
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNKNOWN_METHOD, [ "info" => (isset($handler) ? get_class($handler) : "UNKNOWN:".$op) . "->$method"]);
$span->setAttribute('error', Errors::E_UNKNOWN_METHOD);

View File

@ -298,8 +298,6 @@ class Article extends Handler_Protected {
* @return array{'formatted': string, 'entries': array<int, array<string, mixed>>}
*/
static function _format_enclosures(int $id, bool $always_display_enclosures, string $article_content, bool $hide_images = false): array {
$span = Tracer::start(__METHOD__);
$enclosures = self::_get_enclosures($id);
$enclosures_formatted = "";
@ -326,7 +324,6 @@ class Article extends Handler_Protected {
$enclosures_formatted, $enclosures, $id, $always_display_enclosures, $article_content, $hide_images);
if (!empty($enclosures_formatted)) {
$span->end();
return [
'formatted' => $enclosures_formatted,
'entries' => []
@ -370,7 +367,6 @@ class Article extends Handler_Protected {
}
}
$span->end();
return $rv;
}
@ -378,8 +374,6 @@ class Article extends Handler_Protected {
* @return array<int, string>
*/
static function _get_tags(int $id, int $owner_uid = 0, ?string $tag_cache = null): array {
$span = Tracer::start(__METHOD__);
$a_id = $id;
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
@ -427,7 +421,6 @@ class Article extends Handler_Protected {
$sth->execute([$tags_str, $id, $owner_uid]);
}
$span->end();
return $tags;
}
@ -522,8 +515,6 @@ class Article extends Handler_Protected {
* @return array<int, array<int, int|string>>
*/
static function _get_labels(int $id, ?int $owner_uid = null): array {
$span = Tracer::start(__METHOD__);
$rv = array();
if (!$owner_uid) $owner_uid = $_SESSION["uid"];
@ -569,8 +560,6 @@ class Article extends Handler_Protected {
else
Labels::update_cache($owner_uid, $id, array("no-labels" => 1));
$span->end();
return $rv;
}
@ -581,8 +570,6 @@ class Article extends Handler_Protected {
* @return array<int, Article::ARTICLE_KIND_*|string>
*/
static function _get_image(array $enclosures, string $content, string $site_url, array $headline) {
$span = Tracer::start(__METHOD__);
$article_image = "";
$article_stream = "";
$article_kind = 0;
@ -603,6 +590,7 @@ class Article extends Handler_Protected {
$tmpxpath = new DOMXPath($tmpdoc);
$elems = $tmpxpath->query('(//img[@src]|//video[@poster]|//iframe[contains(@src , "youtube.com/embed/")])');
/** @var DOMElement $e */
foreach ($elems as $e) {
if ($e->nodeName == "iframe") {
$matches = [];
@ -660,8 +648,6 @@ class Article extends Handler_Protected {
if ($article_stream && $cache->exists(sha1($article_stream)))
$article_stream = $cache->get_url(sha1($article_stream));
$span->end();
return [$article_image, $article_stream, $article_kind];
}
@ -675,8 +661,6 @@ class Article extends Handler_Protected {
if (count($article_ids) == 0)
return [];
$span = Tracer::start(__METHOD__);
$entries = ORM::for_table('ttrss_entries')
->table_alias('e')
->join('ttrss_user_entries', ['ref_id', '=', 'id'], 'ue')
@ -696,8 +680,6 @@ class Article extends Handler_Protected {
}
}
$span->end();
return array_unique($rv);
}
@ -709,8 +691,6 @@ class Article extends Handler_Protected {
if (count($article_ids) == 0)
return [];
$span = Tracer::start(__METHOD__);
$entries = ORM::for_table('ttrss_entries')
->table_alias('e')
->join('ttrss_user_entries', ['ref_id', '=', 'id'], 'ue')
@ -723,8 +703,6 @@ class Article extends Handler_Protected {
array_push($rv, $entry->feed_id);
}
$span->end();
return array_unique($rv);
}
}

View File

@ -145,8 +145,6 @@ class Counters {
* @return array<int, array<string, int|string>>
*/
private static function get_feeds(?array $feed_ids = null): array {
$span = Tracer::start(__METHOD__);
$ret = [];
$pdo = Db::pdo();
@ -212,8 +210,6 @@ class Counters {
}
$span->end();
return $ret;
}
@ -221,8 +217,6 @@ class Counters {
* @return array<int, array<string, int|string>>
*/
private static function get_global(): array {
$span = Tracer::start(__METHOD__);
$ret = [
[
"id" => "global-unread",
@ -239,8 +233,6 @@ class Counters {
"counter" => $subcribed_feeds
]);
$span->end();
return $ret;
}
@ -248,8 +240,6 @@ class Counters {
* @return array<int, array<string, int|string>>
*/
private static function get_virt(): array {
$span = Tracer::start(__METHOD__);
$ret = [];
foreach ([Feeds::FEED_ARCHIVED, Feeds::FEED_STARRED, Feeds::FEED_PUBLISHED,
@ -295,7 +285,6 @@ class Counters {
}
}
$span->end();
return $ret;
}
@ -304,8 +293,6 @@ class Counters {
* @return array<int, array<string, int|string>>
*/
static function get_labels(?array $label_ids = null): array {
$span = Tracer::start(__METHOD__);
$ret = [];
$pdo = Db::pdo();
@ -356,7 +343,6 @@ class Counters {
array_push($ret, $cv);
}
$span->end();
return $ret;
}
}

View File

@ -2,8 +2,6 @@
class Digest
{
static function send_headlines_digests(): void {
$span = Tracer::start(__METHOD__);
$user_limit = 15; // amount of users to process (e.g. emails to send out)
$limit = 1000; // maximum amount of headlines to include
@ -77,7 +75,6 @@ class Digest
}
}
$span->end();
Debug::log("All done.");
}

View File

@ -221,11 +221,7 @@ class DiskCache implements Cache_Adapter {
}
public function remove(string $filename): bool {
$span = Tracer::start(__METHOD__);
$span->setAttribute('file.name', $filename);
$rc = $this->adapter->remove($filename);
$span->end();
return $rc;
}
@ -251,9 +247,6 @@ class DiskCache implements Cache_Adapter {
}
public function exists(string $filename): bool {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent("DiskCache::exists: $filename");
$rc = $this->adapter->exists(basename($filename));
return $rc;
@ -263,11 +256,7 @@ class DiskCache implements Cache_Adapter {
* @return int|false -1 if the file doesn't exist, false if an error occurred, size in bytes otherwise
*/
public function get_size(string $filename) {
$span = Tracer::start(__METHOD__);
$span->setAttribute('file.name', $filename);
$rc = $this->adapter->get_size(basename($filename));
$span->end();
return $rc;
}
@ -278,11 +267,7 @@ class DiskCache implements Cache_Adapter {
* @return int|false Bytes written or false if an error occurred.
*/
public function put(string $filename, $data) {
$span = Tracer::start(__METHOD__);
$rc = $this->adapter->put(basename($filename), $data);
$span->end();
return $rc;
return $this->adapter->put(basename($filename), $data);
}
/** @deprecated we can't assume cached files are local, and other storages
@ -326,17 +311,12 @@ class DiskCache implements Cache_Adapter {
}
public function send(string $filename) {
$span = Tracer::start(__METHOD__);
$span->setAttribute('file.name', $filename);
$filename = basename($filename);
if (!$this->exists($filename)) {
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo "File not found.";
$span->setAttribute('error', '404 not found');
$span->end();
return false;
}
@ -346,8 +326,6 @@ class DiskCache implements Cache_Adapter {
if (($_SERVER['HTTP_IF_MODIFIED_SINCE'] ?? '') == $gmt_modified || ($_SERVER['HTTP_IF_NONE_MATCH'] ?? '') == $file_mtime) {
header('HTTP/1.1 304 Not Modified');
$span->setAttribute('error', '304 not modified');
$span->end();
return false;
}
@ -365,9 +343,6 @@ class DiskCache implements Cache_Adapter {
header("Content-type: text/plain");
print "Stored file has disallowed content type ($mimetype)";
$span->setAttribute('error', '400 disallowed content type');
$span->end();
return false;
}
@ -389,13 +364,7 @@ class DiskCache implements Cache_Adapter {
header_remove("Pragma");
$span->setAttribute('mimetype', $mimetype);
$rc = $this->adapter->send($filename);
$span->end();
return $rc;
return $this->adapter->send($filename);
}
public function get_full_path(string $filename): string {
@ -424,13 +393,9 @@ class DiskCache implements Cache_Adapter {
// plugins work on original source URLs used before caching
// NOTE: URLs should be already absolutized because this is called after sanitize()
static public function rewrite_urls(string $str): string {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent("DiskCache::rewrite_urls");
$res = trim($str);
if (!$res) {
$span->end();
return '';
}
@ -439,13 +404,12 @@ class DiskCache implements Cache_Adapter {
$xpath = new DOMXPath($doc);
$cache = DiskCache::instance("images");
$entries = $xpath->query('(//img[@src]|//source[@src|@srcset]|//video[@poster|@src])');
$need_saving = false;
foreach ($entries as $entry) {
$span->addEvent("entry: " . $entry->tagName);
$entries = $xpath->query('(//img[@src]|//source[@src|@srcset]|//video[@poster|@src])');
/** @var DOMElement $entry */
foreach ($entries as $entry) {
foreach (array('src', 'poster') as $attr) {
if ($entry->hasAttribute($attr)) {
$url = $entry->getAttribute($attr);

View File

@ -62,9 +62,6 @@ class Feeds extends Handler_Protected {
$disable_cache = false;
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
$reply = [];
$rgba_cache = [];
$topmost_article_ids = [];
@ -166,7 +163,6 @@ class Feeds extends Handler_Protected {
$reply['search_query'] = [$search, $search_language];
$reply['vfeed_group_enabled'] = $vfeed_group_enabled;
$span->addEvent('plugin_menu_items');
$plugin_menu_items = "";
PluginHost::getInstance()->chain_hooks_callback(PluginHost::HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM2,
@ -200,13 +196,10 @@ class Feeds extends Handler_Protected {
},
$feed, $cat_view, $qfh_ret);
$span->addEvent('articles');
$headlines_count = 0;
if ($result instanceof PDOStatement) {
while ($line = $result->fetch(PDO::FETCH_ASSOC)) {
$span->addEvent('article: ' . $line['id']);
++$headlines_count;
@ -366,8 +359,6 @@ class Feeds extends Handler_Protected {
//setting feed headline background color, needs to change text color based on dark/light
$fav_color = $line['favicon_avg_color'] ?? false;
$span->addEvent("colors");
require_once "colors.php";
if (!isset($rgba_cache[$feed_id])) {
@ -382,8 +373,6 @@ class Feeds extends Handler_Protected {
$line['feed_bg_color'] = 'rgba(' . implode(",", $rgba_cache[$feed_id]) . ',0.3)';
}
$span->addEvent("HOOK_RENDER_ARTICLE_CDM");
PluginHost::getInstance()->chain_hooks_callback(PluginHost::HOOK_RENDER_ARTICLE_CDM,
function ($result, $plugin) use (&$line) {
$line = $result;
@ -461,8 +450,6 @@ class Feeds extends Handler_Protected {
}
}
$span->end();
return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, $reply);
}
@ -926,10 +913,6 @@ class Feeds extends Handler_Protected {
* @throws PDOException
*/
static function _get_counters($feed, bool $is_cat = false, bool $unread_only = false, ?int $owner_uid = null): int {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent(__METHOD__ . ": $feed ($is_cat)");
$n_feed = (int) $feed;
$need_entries = false;
@ -952,14 +935,11 @@ class Feeds extends Handler_Protected {
$handler = PluginHost::getInstance()->get_feed_handler($feed_id);
if (implements_interface($handler, 'IVirtualFeed')) {
/** @var IVirtualFeed $handler */
//$span->end();
return $handler->get_unread($feed_id);
} else {
//$span->end();
return 0;
}
} else if ($n_feed == Feeds::FEED_RECENTLY_READ) {
//$span->end();
return 0;
// tags
} else if ($feed != "0" && $n_feed == 0) {
@ -973,7 +953,6 @@ class Feeds extends Handler_Protected {
$row = $sth->fetch();
// Handle 'SUM()' returning null if there are no results
//$span->end();
return $row["count"] ?? 0;
} else if ($n_feed == Feeds::FEED_STARRED) {
@ -1007,7 +986,6 @@ class Feeds extends Handler_Protected {
$label_id = Labels::feed_to_label_id($feed);
//$span->end();
return self::_get_label_unread($label_id, $owner_uid);
}
@ -1027,7 +1005,6 @@ class Feeds extends Handler_Protected {
$sth->execute([$owner_uid]);
$row = $sth->fetch();
//$span->end();
return $row["unread"];
} else {
@ -1040,7 +1017,6 @@ class Feeds extends Handler_Protected {
$sth->execute([$feed, $owner_uid]);
$row = $sth->fetch();
//$span->end();
return $row["unread"];
}
}
@ -1433,10 +1409,6 @@ class Feeds extends Handler_Protected {
* @return array<int, mixed> $result, $feed_title, $feed_site_url, $last_error, $last_updated, $highlight_words, $first_id, $is_vfeed, $query_error_override
*/
static function _get_headlines($params): array {
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
$pdo = Db::pdo();
// WARNING: due to highly dynamic nature of this query its going to quote parameters
@ -1928,8 +1900,6 @@ class Feeds extends Handler_Protected {
$res = $pdo->query($query);
}
$span->end();
return array($res, $feed_title, $feed_site_url, $last_error, $last_updated, $search_words, $first_id, $vfeed_query_part != "", $query_error_override);
}
@ -2048,6 +2018,7 @@ class Feeds extends Handler_Protected {
$entries = $xpath->query('/html/*[self::head or self::body]/link[@rel="alternate" and '.
'(contains(@type,"rss") or contains(@type,"atom"))]|/html/*[self::head or self::body]/link[@rel="feed"]');
/** @var DOMElement|null $entry */
foreach ($entries as $entry) {
if ($entry->hasAttribute('href')) {
$title = $entry->getAttribute('title');

View File

@ -342,16 +342,8 @@ class PluginHost {
*/
function chain_hooks_callback(string $hook, Closure $callback, &...$args): void {
$method = strtolower((string)$hook);
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent("chain_hooks_callback: $hook");
foreach ($this->get_hooks((string)$hook) as $plugin) {
//Debug::log("invoking: " . get_class($plugin) . "->$hook()", Debug::$LOG_VERBOSE);
//$p_span = Tracer::start("$hook - " . get_class($plugin));
$span->addEvent("$hook - " . get_class($plugin));
try {
if ($callback($plugin->$method(...$args), $plugin))
break;
@ -360,11 +352,7 @@ class PluginHost {
} catch (Error $err) {
user_error($err, E_USER_WARNING);
}
//$p_span->end();
}
//$span->end();
}
/**
@ -430,9 +418,6 @@ class PluginHost {
* @param PluginHost::KIND_* $kind
*/
function load_all(int $kind, ?int $owner_uid = null, bool $skip_init = false): void {
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
$plugins = [...(glob("plugins/*") ?: []), ...(glob("plugins.local/*") ?: [])];
$plugins = array_filter($plugins, "is_dir");
$plugins = array_map("basename", $plugins);
@ -440,17 +425,12 @@ class PluginHost {
asort($plugins);
$this->load(join(",", $plugins), (int)$kind, $owner_uid, $skip_init);
$span->end();
}
/**
* @param PluginHost::KIND_* $kind
*/
function load(string $classlist, int $kind, ?int $owner_uid = null, bool $skip_init = false): void {
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
$plugins = explode(",", $classlist);
$this->owner_uid = (int) $owner_uid;
@ -459,8 +439,6 @@ class PluginHost {
$class = trim($class);
$class_file = strtolower(basename(clean($class)));
$span->addEvent("$class_file: load");
// try system plugin directory first
$file = Config::get_self_dir() . "/plugins/$class_file/init.php";
@ -485,8 +463,6 @@ class PluginHost {
}
$_SESSION["safe_mode"] = 1;
$span->setAttribute('error', 'plugin is blacklisted');
continue;
}
@ -497,8 +473,6 @@ class PluginHost {
} catch (Error $err) {
user_error($err, E_USER_WARNING);
$span->setAttribute('error', $err);
continue;
}
@ -508,8 +482,6 @@ class PluginHost {
if ($plugin_api < self::API_VERSION) {
user_error("Plugin $class is not compatible with current API version (need: " . self::API_VERSION . ", got: $plugin_api)", E_USER_WARNING);
$span->setAttribute('error', 'plugin is not compatible with API version');
continue;
}
@ -518,8 +490,6 @@ class PluginHost {
_bind_textdomain_codeset($class, "UTF-8");
}
$span->addEvent("$class_file: initialize");
try {
switch ($kind) {
case $this::KIND_SYSTEM:
@ -549,7 +519,6 @@ class PluginHost {
}
$this->load_data();
$span->end();
}
function is_system(Plugin $plugin): bool {
@ -638,17 +607,12 @@ class PluginHost {
}
private function load_data(): void {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent('load plugin data');
if ($this->owner_uid && !$this->data_loaded && Config::get_schema_version() > 100) {
$sth = $this->pdo->prepare("SELECT name, content FROM ttrss_plugin_storage
WHERE owner_uid = ?");
$sth->execute([$this->owner_uid]);
while ($line = $sth->fetch()) {
$span->addEvent($line["name"] . ': unserialize');
$this->storage[$line["name"]] = unserialize($line["content"]);
}
@ -658,9 +622,6 @@ class PluginHost {
private function save_data(string $plugin): void {
if ($this->owner_uid) {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent(__METHOD__ . ": $plugin");
if (!$this->pdo_data)
$this->pdo_data = Db::instance()->pdo_connect();

View File

@ -1077,9 +1077,6 @@ class Pref_Feeds extends Handler_Protected {
* @return array<string, mixed>
*/
private function feedlist_init_cat(int $cat_id): array {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent(__METHOD__ . ": $cat_id");
return [
'id' => 'CAT:' . $cat_id,
'items' => array(),
@ -1094,9 +1091,6 @@ class Pref_Feeds extends Handler_Protected {
* @return array<string, mixed>
*/
private function feedlist_init_feed(int $feed_id, ?string $title = null, bool $unread = false, string $error = '', string $updated = ''): array {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent(__METHOD__ . ": $feed_id");
if (!$title)
$title = Feeds::_get_title($feed_id, false);

View File

@ -106,8 +106,6 @@ class RPC extends Handler_Protected {
}
function getAllCounters(): void {
$span = Tracer::start(__METHOD__);
@$seq = (int) $_REQUEST['seq'];
$feed_id_count = (int) ($_REQUEST["feed_id_count"] ?? -1);
@ -134,7 +132,6 @@ class RPC extends Handler_Protected {
'seq' => $seq
];
$span->end();
print json_encode($reply);
}
@ -176,8 +173,6 @@ class RPC extends Handler_Protected {
}
function sanityCheck(): void {
$span = Tracer::start(__METHOD__);
$_SESSION["hasSandbox"] = self::_param_to_bool($_REQUEST["hasSandbox"] ?? false);
$_SESSION["clientTzOffset"] = clean($_REQUEST["clientTzOffset"]);
@ -209,8 +204,6 @@ class RPC extends Handler_Protected {
} else {
print Errors::to_json($error, $error_params);
}
$span->end();
}
/*function completeLabels() {
@ -254,8 +247,6 @@ class RPC extends Handler_Protected {
}
static function updaterandomfeed_real(): void {
$span = Tracer::start(__METHOD__);
$default_interval = (int) Prefs::get_default(Prefs::DEFAULT_UPDATE_INTERVAL);
// Test if the feed need a update (update interval exceded).
@ -344,8 +335,6 @@ class RPC extends Handler_Protected {
} else {
print json_encode(array("message" => "NOTHING_TO_UPDATE"));
}
$span->end();
}
function updaterandomfeed(): void {
@ -401,8 +390,6 @@ class RPC extends Handler_Protected {
}
function log(): void {
$span = Tracer::start(__METHOD__);
$msg = clean($_REQUEST['msg'] ?? "");
$file = basename(clean($_REQUEST['file'] ?? ""));
$line = (int) clean($_REQUEST['line'] ?? 0);
@ -414,13 +401,9 @@ class RPC extends Handler_Protected {
echo json_encode(array("message" => "HOST_ERROR_LOGGED"));
}
$span->end();
}
function checkforupdates(): void {
$span = Tracer::start(__METHOD__);
$rv = ["changeset" => [], "plugins" => []];
$version = Config::get_version(false);
@ -446,8 +429,6 @@ class RPC extends Handler_Protected {
$rv["plugins"] = Pref_Prefs::_get_updated_plugins();
}
$span->end();
print json_encode($rv);
}
@ -455,8 +436,6 @@ class RPC extends Handler_Protected {
* @return array<string, mixed>
*/
private function _make_init_params(): array {
$span = Tracer::start(__METHOD__);
$params = array();
foreach ([Prefs::ON_CATCHUP_SHOW_NEXT_FEED, Prefs::HIDE_READ_FEEDS,
@ -509,8 +488,6 @@ class RPC extends Handler_Protected {
$params["icon_blank"] = $this->image_to_base64("images/blank_icon.gif");
$params["labels"] = Labels::get_all($_SESSION["uid"]);
$span->end();
return $params;
}
@ -530,8 +507,6 @@ class RPC extends Handler_Protected {
* @return array<string, mixed>
*/
static function _make_runtime_info(): array {
$span = Tracer::start(__METHOD__);
$data = array();
$pdo = Db::pdo();
@ -597,8 +572,6 @@ class RPC extends Handler_Protected {
}
}
$span->end();
return $data;
}

View File

@ -69,8 +69,6 @@ class RSSUtils {
* @param array<string, false|string> $options
*/
static function update_daemon_common(int $limit = 0, array $options = []): int {
$span = Tracer::start(__METHOD__);
if (!$limit) $limit = Config::get(Config::DAEMON_FEED_LIMIT);
if (Config::get_schema_version() != Config::SCHEMA_VERSION) {
@ -312,8 +310,6 @@ class RSSUtils {
// Send feed digests by email if needed.
Digest::send_headlines_digests();
$span->end();
return $nf;
}
@ -380,9 +376,6 @@ class RSSUtils {
static function update_rss_feed(int $feed, bool $no_cache = false, bool $html_output = false) : bool {
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
Debug::enable_html($html_output);
Debug::log("start", Debug::LOG_VERBOSE);
@ -418,19 +411,16 @@ class RSSUtils {
if ($user) {
if ($user->access_level == UserHelper::ACCESS_LEVEL_READONLY) {
Debug::log("error: denied update for $feed: permission denied by owner access level");
$span->end();
return false;
}
} else {
// this would indicate database corruption of some kind
Debug::log("error: owner not found for feed: $feed");
$span->end();
return false;
}
} else {
Debug::log("error: feeds table record not found for feed: $feed");
$span->end();
return false;
}
@ -589,7 +579,6 @@ class RSSUtils {
$feed_obj->save();
}
$span->end();
return $error_message == "";
}
@ -731,7 +720,6 @@ class RSSUtils {
]);
$feed_obj->save();
$span->end();
return true; // no articles
}
@ -740,8 +728,6 @@ class RSSUtils {
$tstart = time();
foreach ($items as $item) {
$a_span = Tracer::start('article');
$pdo->beginTransaction();
Debug::log(Debug::SEPARATOR, Debug::LOG_VERBOSE);
@ -1327,7 +1313,6 @@ class RSSUtils {
Debug::log("article processed.", Debug::LOG_VERBOSE);
$pdo->commit();
$a_span->end();
}
Debug::log(Debug::SEPARATOR, Debug::LOG_VERBOSE);
@ -1368,12 +1353,10 @@ class RSSUtils {
unset($rss);
Debug::log("update failed.", Debug::LOG_VERBOSE);
$span->end();
return false;
}
Debug::log("update done.", Debug::LOG_VERBOSE);
$span->end();
return true;
}
@ -1446,6 +1429,7 @@ class RSSUtils {
$entries = $xpath->query('(//img[@src]|//source[@src|@srcset]|//video[@poster|@src])');
/** @var DOMElement $entry */
foreach ($entries as $entry) {
foreach (array('src', 'poster') as $attr) {
if ($entry->hasAttribute($attr) && strpos($entry->getAttribute($attr), "data:") !== 0) {
@ -1538,8 +1522,6 @@ class RSSUtils {
* @return array<int, array<string, string>> An array of filter action arrays with keys "type" and "param"
*/
static function get_article_filters(array $filters, string $title, string $content, string $link, string $author, array $tags, ?array &$matched_rules = null, ?array &$matched_filters = null): array {
$span = Tracer::start(__METHOD__);
$matches = array();
foreach ($filters as $filter) {
@ -1626,8 +1608,6 @@ class RSSUtils {
}
}
$span->end();
return $matches;
}
@ -2033,20 +2013,21 @@ class RSSUtils {
$xpath = new DOMXPath($doc);
$base = $xpath->query('/html/head/base[@href]');
/** @var DOMElement $b */
foreach ($base as $b) {
$url = UrlHelper::rewrite_relative($url, $b->getAttribute("href"));
break;
}
$entries = $xpath->query('/html/head/link[@rel="shortcut icon" or @rel="icon" or @rel="alternate icon"]');
if (count($entries) > 0) {
/** @var DOMElement $entry */
foreach ($entries as $entry) {
$favicon_url = UrlHelper::rewrite_relative($url, $entry->getAttribute("href"));
if ($favicon_url)
array_push($favicon_urls, $favicon_url);
}
}
}
}

View File

@ -9,6 +9,8 @@ class Sanitizer {
$entries = $xpath->query('//*');
foreach ($entries as $entry) {
/** @var DOMElement $entry */
if (!in_array($entry->nodeName, $allowed_elements)) {
$entry->parentNode->removeChild($entry);
}
@ -63,9 +65,6 @@ class Sanitizer {
* @return false|string The HTML, or false if an error occurred.
*/
public static function sanitize(string $str, ?bool $force_remove_images = false, ?int $owner = null, ?string $site_url = null, ?array $highlight_words = null, ?int $article_id = null) {
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$span->addEvent("Sanitizer::sanitize");
if (!$owner && isset($_SESSION["uid"]))
$owner = $_SESSION["uid"];
@ -81,6 +80,7 @@ class Sanitizer {
$entries = $xpath->query('(//a[@href]|//img[@src]|//source[@srcset|@src]|//video[@poster])');
/** @var DOMElement $entry */
foreach ($entries as $entry) {
if ($entry->hasAttribute('href')) {
@ -143,6 +143,8 @@ class Sanitizer {
}
$entries = $xpath->query('//iframe');
/** @var DOMElement $entry */
foreach ($entries as $entry) {
if (!self::iframe_whitelisted($entry)) {
$entry->setAttribute('sandbox', 'allow-scripts');

View File

@ -1,216 +0,0 @@
<?php
use OpenTelemetry\API\Trace\Propagation\TraceContextPropagator;
use OpenTelemetry\API\Trace\SpanContextInterface;
use OpenTelemetry\API\Trace\SpanInterface;
use OpenTelemetry\API\Trace\SpanKind;
use OpenTelemetry\API\Trace\TraceFlags;
use OpenTelemetry\API\Trace\TraceStateInterface;
use OpenTelemetry\Context\ContextInterface;
use OpenTelemetry\Context\ContextKey;
use OpenTelemetry\Context\ContextKeyInterface;
use OpenTelemetry\Context\ImplicitContextKeyedInterface;
use OpenTelemetry\Context\ScopeInterface;
use OpenTelemetry\Contrib\Otlp\OtlpHttpTransportFactory;
use OpenTelemetry\Contrib\Otlp\SpanExporter;
use OpenTelemetry\SDK\Common\Attribute\Attributes;
use OpenTelemetry\SDK\Resource\ResourceInfo;
use OpenTelemetry\SDK\Resource\ResourceInfoFactory;
use OpenTelemetry\SDK\Trace\Sampler\AlwaysOnSampler;
use OpenTelemetry\SDK\Trace\Sampler\ParentBased;
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor;
use OpenTelemetry\SDK\Trace\TracerProvider;
use OpenTelemetry\SemConv\ResourceAttributes;
class DummyContextInterface implements ContextInterface {
/** @var DummyContextInterface */
private static $instance;
public function __construct() {
self::$instance = $this;
}
/** @phpstan-ignore-next-line */
public static function createKey(string $key): ContextKeyInterface { return new ContextKey(); }
public static function getCurrent(): ContextInterface { return self::$instance; }
public function activate(): ScopeInterface { return new DummyScopeInterface(); }
public function with(ContextKeyInterface $key, $value): ContextInterface { return $this; }
public function withContextValue(ImplicitContextKeyedInterface $value): ContextInterface { return $this; }
public function get(ContextKeyInterface $key) { return new ContextKey(); }
}
class DummySpanContextInterface implements SpanContextInterface {
/** @var DummySpanContextInterface $instance */
private static $instance;
public function __construct() {
self::$instance = $this;
}
public static function createFromRemoteParent(string $traceId, string $spanId, int $traceFlags = TraceFlags::DEFAULT, ?TraceStateInterface $traceState = null): SpanContextInterface { return self::$instance; }
public static function getInvalid(): SpanContextInterface { return self::$instance; }
public static function create(string $traceId, string $spanId, int $traceFlags = TraceFlags::DEFAULT, ?TraceStateInterface $traceState = null): SpanContextInterface { return self::$instance; }
public function getTraceId(): string { return ""; }
public function getTraceIdBinary(): string { return ""; }
public function getSpanId(): string { return ""; }
public function getSpanIdBinary(): string { return ""; }
public function getTraceFlags(): int { return 0; }
public function getTraceState(): ?TraceStateInterface { return null; }
public function isValid(): bool { return false; }
public function isRemote(): bool { return false; }
public function isSampled(): bool { return false; }
}
class DummyScopeInterface implements ScopeInterface {
public function detach(): int { return 0; }
}
class DummySpanInterface implements SpanInterface {
/** @var DummySpanInterface $instance */
private static $instance;
public function __construct() {
self::$instance = $this;
}
public static function fromContext(ContextInterface $context): SpanInterface { return self::$instance; }
public static function getCurrent(): SpanInterface { return self::$instance; }
public static function getInvalid(): SpanInterface { return self::$instance; }
public static function wrap(SpanContextInterface $spanContext): SpanInterface { return self::$instance; }
public function getContext(): SpanContextInterface { return new DummySpanContextInterface(); }
public function isRecording(): bool { return false; }
/** @phpstan-ignore-next-line */
public function setAttribute(string $key, $value): SpanInterface { return self::$instance; }
/** @phpstan-ignore-next-line */
public function setAttributes(iterable $attributes): SpanInterface { return self::$instance; }
/** @phpstan-ignore-next-line */
public function addEvent(string $name, iterable $attributes = [], ?int $timestamp = null): SpanInterface { return $this; }
/** @phpstan-ignore-next-line */
public function recordException(Throwable $exception, iterable $attributes = []): SpanInterface { return $this; }
public function updateName(string $name): SpanInterface { return $this; }
public function setStatus(string $code, ?string $description = null): SpanInterface { return $this; }
public function end(?int $endEpochNanos = null): void { }
public function activate(): ScopeInterface { return new DummyScopeInterface(); }
public function storeInContext(ContextInterface $context): ContextInterface { return new DummyContextInterface(); }
}
class Tracer {
/** @var Tracer $instance */
private static $instance = null;
/** @var OpenTelemetry\SDK\Trace\TracerProviderInterface $tracerProvider */
private $tracerProvider = null;
/** @var OpenTelemetry\API\Trace\TracerInterface $tracer */
private $tracer = null;
public function __construct() {
$OPENTELEMETRY_ENDPOINT = Config::get(Config::OPENTELEMETRY_ENDPOINT);
if ($OPENTELEMETRY_ENDPOINT) {
$transport = (new OtlpHttpTransportFactory())->create($OPENTELEMETRY_ENDPOINT, 'application/x-protobuf');
$exporter = new SpanExporter($transport);
$resource = ResourceInfoFactory::emptyResource()->merge(
ResourceInfo::create(Attributes::create(
[ResourceAttributes::SERVICE_NAME => Config::get(Config::OPENTELEMETRY_SERVICE)]
), ResourceAttributes::SCHEMA_URL),
);
$this->tracerProvider = TracerProvider::builder()
->addSpanProcessor(new SimpleSpanProcessor($exporter))
->setResource($resource)
->setSampler(new ParentBased(new AlwaysOnSampler()))
->build();
$this->tracer = $this->tracerProvider->getTracer('io.opentelemetry.contrib.php');
$context = TraceContextPropagator::getInstance()->extract(getallheaders());
$span = $this->tracer->spanBuilder($_SESSION['name'] ?? 'not logged in')
->setParent($context)
->setSpanKind(SpanKind::KIND_SERVER)
->setAttribute('php.request', json_encode($_REQUEST))
->setAttribute('php.server', json_encode($_SERVER))
->setAttribute('php.session', json_encode($_SESSION ?? []))
->startSpan();
$scope = $span->activate();
register_shutdown_function(function() use ($span, $scope) {
$span->end();
$scope->detach();
$this->tracerProvider->shutdown();
});
}
}
/**
* @param string $name
* @return OpenTelemetry\API\Trace\SpanInterface
*/
private function _start(string $name) {
if ($this->tracer != null) {
$span = $this->tracer
->spanBuilder($name)
->setSpanKind(SpanKind::KIND_SERVER)
->startSpan();
$span->activate();
} else {
$span = new DummySpanInterface();
}
return $span;
}
/**
* @param string $name
* @return OpenTelemetry\API\Trace\SpanInterface
*/
public static function start(string $name) {
return self::get_instance()->_start($name);
}
public static function get_instance() : Tracer {
if (self::$instance == null)
self::$instance = new self();
return self::$instance;
}
}

View File

@ -202,8 +202,6 @@ class UrlHelper {
* @return false|string
*/
static function resolve_redirects(string $url, int $timeout) {
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
$client = self::get_client();
try {
@ -218,14 +216,11 @@ class UrlHelper {
],
]);
} catch (Exception $ex) {
$span->setAttribute('error', (string) $ex);
$span->end();
return false;
}
// If a history header value doesn't exist there was no redirection and the original URL is fine.
$history_header = $response->getHeader(GuzzleHttp\RedirectMiddleware::HISTORY_HEADER);
$span->end();
return ($history_header ? end($history_header) : $url);
}
@ -238,8 +233,6 @@ class UrlHelper {
public static function fetch($options /* previously: 0: $url , 1: $type = false, 2: $login = false, 3: $pass = false,
4: $post_query = false, 5: $timeout = false, 6: $timestamp = 0, 7: $useragent = false, 8: $encoding = false,
9: $auth_type = "basic" */) {
$span = Tracer::start(__METHOD__);
$span->setAttribute('func.args', json_encode(func_get_args()));
self::$fetch_last_error = "";
self::$fetch_last_error_code = -1;
@ -299,8 +292,6 @@ class UrlHelper {
if (!$url) {
self::$fetch_last_error = 'Requested URL failed extended validation.';
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
}
@ -309,8 +300,6 @@ class UrlHelper {
if (!$ip_addr || strpos($ip_addr, '127.') === 0) {
self::$fetch_last_error = "URL hostname failed to resolve or resolved to a loopback address ($ip_addr)";
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
}
@ -392,8 +381,6 @@ class UrlHelper {
} catch (\LengthException $ex) {
// Either 'Content-Length' indicated the download limit would be exceeded, or the transfer actually exceeded the download limit.
self::$fetch_last_error = $ex->getMessage();
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
} catch (GuzzleHttp\Exception\GuzzleException $ex) {
self::$fetch_last_error = $ex->getMessage();
@ -407,7 +394,6 @@ class UrlHelper {
// to attempt compatibility with unusual configurations.
if ($login && $pass && self::$fetch_last_error_code === 403 && $auth_type !== 'any') {
$options['auth_type'] = 'any';
$span->end();
return self::fetch($options);
}
@ -424,15 +410,11 @@ class UrlHelper {
if (($errno === \CURLE_WRITE_ERROR || $errno === \CURLE_BAD_CONTENT_ENCODING) &&
$ex->getRequest()->getHeaderLine('accept-encoding') !== 'none') {
$options['encoding'] = 'none';
$span->end();
return self::fetch($options);
}
}
}
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
}
@ -449,8 +431,6 @@ class UrlHelper {
// This shouldn't be necessary given the checks that occur during potential redirects, but we'll do it anyway.
if (!self::validate(self::$fetch_effective_url, true)) {
self::$fetch_last_error = "URL received after redirection failed extended validation.";
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
}
@ -459,8 +439,6 @@ class UrlHelper {
if (!self::$fetch_effective_ip_addr || strpos(self::$fetch_effective_ip_addr, '127.') === 0) {
self::$fetch_last_error = 'URL hostname received after redirection failed to resolve or resolved to a loopback address (' .
self::$fetch_effective_ip_addr . ')';
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
}
@ -468,12 +446,9 @@ class UrlHelper {
if (!$body) {
self::$fetch_last_error = 'Successful response, but no content was received.';
$span->setAttribute('error', self::$fetch_last_error);
$span->end();
return false;
}
$span->end();
return $body;
}

View File

@ -9,7 +9,7 @@
{
"name": "j4mie/idiorm",
"type": "vcs",
"url": "https://dev.tt-rss.org/fox/idiorm.git"
"url": "https://git.tt-rss.org/fox/idiorm.git"
}
],
"autoload": {
@ -25,7 +25,6 @@
"chillerlan/php-qrcode": "^4.3.3",
"mervick/material-design-icons": "^2.2",
"j4mie/idiorm": "dev-master",
"open-telemetry/exporter-otlp": "^1.0",
"php-http/guzzle7-adapter": "^1.0",
"soundasleep/html2text": "^2.1",
"guzzlehttp/guzzle": "^7.0"

892
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a0465ea624d9e79bc5d8b04a345b1ad6",
"content-hash": "74c91680c7bc99c8ee087408620b2fa5",
"packages": [
{
"name": "beberlei/assert",
@ -215,50 +215,6 @@
],
"time": "2022-07-05T22:32:14+00:00"
},
{
"name": "google/protobuf",
"version": "v3.24.4",
"source": {
"type": "git",
"url": "https://github.com/protocolbuffers/protobuf-php.git",
"reference": "672d69e25f71b9364fdf1810eb8a8573defdc404"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/672d69e25f71b9364fdf1810eb8a8573defdc404",
"reference": "672d69e25f71b9364fdf1810eb8a8573defdc404",
"shasum": ""
},
"require": {
"php": ">=7.0.0"
},
"require-dev": {
"phpunit/phpunit": ">=5.0.0"
},
"suggest": {
"ext-bcmath": "Need to support JSON deserialization"
},
"type": "library",
"autoload": {
"psr-4": {
"Google\\Protobuf\\": "src/Google/Protobuf",
"GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "proto library for PHP",
"homepage": "https://developers.google.com/protocol-buffers/",
"keywords": [
"proto"
],
"support": {
"source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.24.4"
},
"time": "2023-10-04T17:22:47+00:00"
},
{
"name": "guzzlehttp/guzzle",
"version": "7.8.1",
@ -692,398 +648,6 @@
},
"time": "2016-02-22T01:05:40+00:00"
},
{
"name": "open-telemetry/api",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/api.git",
"reference": "d577d732333d38a9a6c16936363ee25f1e3f1c3c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/api/zipball/d577d732333d38a9a6c16936363ee25f1e3f1c3c",
"reference": "d577d732333d38a9a6c16936363ee25f1e3f1c3c",
"shasum": ""
},
"require": {
"open-telemetry/context": "^1.0",
"php": "^7.4 || ^8.0",
"psr/log": "^1.1|^2.0|^3.0",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",
"symfony/polyfill-php82": "^1.26"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"autoload": {
"files": [
"Trace/functions.php"
],
"psr-4": {
"OpenTelemetry\\API\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "API for OpenTelemetry PHP.",
"keywords": [
"Metrics",
"api",
"apm",
"logging",
"opentelemetry",
"otel",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2023-09-27T23:15:51+00:00"
},
{
"name": "open-telemetry/context",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/context.git",
"reference": "99f3d54fa9f9ff67421774feeef5e5b1f209ea21"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/context/zipball/99f3d54fa9f9ff67421774feeef5e5b1f209ea21",
"reference": "99f3d54fa9f9ff67421774feeef5e5b1f209ea21",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",
"symfony/polyfill-php82": "^1.26"
},
"suggest": {
"ext-ffi": "To allow context switching in Fibers"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"autoload": {
"files": [
"fiber/initialize_fiber_handler.php"
],
"psr-4": {
"OpenTelemetry\\Context\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "Context implementation for OpenTelemetry PHP.",
"keywords": [
"Context",
"opentelemetry",
"otel"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2023-09-05T03:38:44+00:00"
},
{
"name": "open-telemetry/exporter-otlp",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/exporter-otlp.git",
"reference": "756092bdff472ea49adb7843c74011606d065b36"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/756092bdff472ea49adb7843c74011606d065b36",
"reference": "756092bdff472ea49adb7843c74011606d065b36",
"shasum": ""
},
"require": {
"open-telemetry/api": "^1.0",
"open-telemetry/gen-otlp-protobuf": "^1.0",
"open-telemetry/sdk": "^1.0",
"php": "^7.4 || ^8.0",
"php-http/discovery": "^1.14"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"autoload": {
"files": [
"_register.php"
],
"psr-4": {
"OpenTelemetry\\Contrib\\Otlp\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "OTLP exporter for OpenTelemetry.",
"keywords": [
"Metrics",
"exporter",
"gRPC",
"http",
"opentelemetry",
"otel",
"otlp",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2023-10-13T00:48:23+00:00"
},
{
"name": "open-telemetry/gen-otlp-protobuf",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git",
"reference": "30fe95f10c2ec1a577f78257c86fbbebe739ca5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/30fe95f10c2ec1a577f78257c86fbbebe739ca5e",
"reference": "30fe95f10c2ec1a577f78257c86fbbebe739ca5e",
"shasum": ""
},
"require": {
"google/protobuf": "^3.3.0",
"php": "^7.4 || ^8.0"
},
"suggest": {
"ext-protobuf": "For better performance, when dealing with the protobuf format"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Opentelemetry\\Proto\\": "Opentelemetry/Proto/",
"GPBMetadata\\Opentelemetry\\": "GPBMetadata/Opentelemetry/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "PHP protobuf files for communication with OpenTelemetry OTLP collectors/servers.",
"keywords": [
"Metrics",
"apm",
"gRPC",
"logging",
"opentelemetry",
"otel",
"otlp",
"protobuf",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2023-09-05T03:38:44+00:00"
},
{
"name": "open-telemetry/sdk",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/sdk.git",
"reference": "1c6020b4f1b85fdd647538ee46f6c83360d7c11e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/1c6020b4f1b85fdd647538ee46f6c83360d7c11e",
"reference": "1c6020b4f1b85fdd647538ee46f6c83360d7c11e",
"shasum": ""
},
"require": {
"ext-json": "*",
"open-telemetry/api": "^1.0",
"open-telemetry/context": "^1.0",
"open-telemetry/sem-conv": "^1.0",
"php": "^7.4 || ^8.0",
"php-http/discovery": "^1.14",
"psr/http-client": "^1.0",
"psr/http-client-implementation": "^1.0",
"psr/http-factory-implementation": "^1.0",
"psr/http-message": "^1.0.1|^2.0",
"psr/log": "^1.1|^2.0|^3.0",
"symfony/polyfill-mbstring": "^1.23",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",
"symfony/polyfill-php82": "^1.26"
},
"suggest": {
"ext-gmp": "To support unlimited number of synchronous metric readers",
"ext-mbstring": "To increase performance of string operations"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"autoload": {
"files": [
"Common/Util/functions.php",
"Logs/Exporter/_register.php",
"Metrics/MetricExporter/_register.php",
"Propagation/_register.php",
"Trace/SpanExporter/_register.php",
"Common/Dev/Compatibility/_load.php",
"_autoload.php"
],
"psr-4": {
"OpenTelemetry\\SDK\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "SDK for OpenTelemetry PHP.",
"keywords": [
"Metrics",
"apm",
"logging",
"opentelemetry",
"otel",
"sdk",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2023-10-18T20:53:08+00:00"
},
{
"name": "open-telemetry/sem-conv",
"version": "1.22.1",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/sem-conv.git",
"reference": "e582b874ee89bec544f962db212b3966fe9310a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/e582b874ee89bec544f962db212b3966fe9310a7",
"reference": "e582b874ee89bec544f962db212b3966fe9310a7",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"OpenTelemetry\\SemConv\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "Semantic conventions for OpenTelemetry PHP.",
"keywords": [
"Metrics",
"apm",
"logging",
"opentelemetry",
"otel",
"semantic conventions",
"semconv",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2023-10-19T20:10:44+00:00"
},
{
"name": "paragonie/constant_time_encoding",
"version": "v2.6.3",
@ -1151,84 +715,6 @@
},
"time": "2022-06-14T06:56:20+00:00"
},
{
"name": "php-http/discovery",
"version": "1.19.1",
"source": {
"type": "git",
"url": "https://github.com/php-http/discovery.git",
"reference": "57f3de01d32085fea20865f9b16fb0e69347c39e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/discovery/zipball/57f3de01d32085fea20865f9b16fb0e69347c39e",
"reference": "57f3de01d32085fea20865f9b16fb0e69347c39e",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0|^2.0",
"php": "^7.1 || ^8.0"
},
"conflict": {
"nyholm/psr7": "<1.0",
"zendframework/zend-diactoros": "*"
},
"provide": {
"php-http/async-client-implementation": "*",
"php-http/client-implementation": "*",
"psr/http-client-implementation": "*",
"psr/http-factory-implementation": "*",
"psr/http-message-implementation": "*"
},
"require-dev": {
"composer/composer": "^1.0.2|^2.0",
"graham-campbell/phpspec-skip-example-extension": "^5.0",
"php-http/httplug": "^1.0 || ^2.0",
"php-http/message-factory": "^1.0",
"phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
"symfony/phpunit-bridge": "^6.2"
},
"type": "composer-plugin",
"extra": {
"class": "Http\\Discovery\\Composer\\Plugin",
"plugin-optional": true
},
"autoload": {
"psr-4": {
"Http\\Discovery\\": "src/"
},
"exclude-from-classmap": [
"src/Composer/Plugin.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations",
"homepage": "http://php-http.org",
"keywords": [
"adapter",
"client",
"discovery",
"factory",
"http",
"message",
"psr17",
"psr7"
],
"support": {
"issues": "https://github.com/php-http/discovery/issues",
"source": "https://github.com/php-http/discovery/tree/1.19.1"
},
"time": "2023-07-11T07:02:26+00:00"
},
{
"name": "php-http/guzzle7-adapter",
"version": "1.0.0",
@ -1565,56 +1051,6 @@
},
"time": "2023-04-04T09:54:51+00:00"
},
{
"name": "psr/log",
"version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
"php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.0"
},
"time": "2021-07-14T16:46:02+00:00"
},
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
@ -1856,330 +1292,6 @@
],
"time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
"reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-26T09:26:14+00:00"
},
{
"name": "symfony/polyfill-php82",
"version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php82.git",
"reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/7716bea9c86776fb3362d6b52fe1fc9471056a49",
"reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php82\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php82/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-08-25T17:27:25+00:00"
},
{
"name": "thecodingmachine/safe",
"version": "v2.2.2",
@ -4405,5 +3517,5 @@
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.6.0"
"plugin-api-version": "2.3.0"
}

View File

@ -11,8 +11,6 @@
if (!init_plugins()) return;
$span = OpenTelemetry\API\Trace\Span::getCurrent();
$method = (string)clean($_REQUEST["op"]);
// shortcut syntax for public (exposed) methods (?op=plugin--pmethod&...params)
@ -38,34 +36,30 @@
user_error("Refusing to invoke method $method which starts with underscore.", E_USER_WARNING);
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNAUTHORIZED);
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
return;
}
if (implements_interface($handler, "IHandler") && $handler->before($method)) {
$span->addEvent("construct/$method");
if ($method && method_exists($handler, $method)) {
$reflection = new ReflectionMethod($handler, $method);
if ($reflection->getNumberOfRequiredParameters() == 0) {
$span->addEvent("invoke/$method");
$handler->$method();
} else {
user_error("Refusing to invoke method $method which has required parameters.", E_USER_WARNING);
header("Content-Type: text/json");
print Errors::to_json(Errors::E_UNAUTHORIZED);
$span->setAttribute('error', Errors::E_UNAUTHORIZED);
}
} else if (method_exists($handler, 'index')) {
$span->addEvent("index");
$handler->index();
}
$span->addEvent("after/$method");
$handler->after();
return;
}
header("Content-Type: text/plain");
print Errors::to_json(Errors::E_UNKNOWN_METHOD);
$span->setAttribute('error', Errors::E_UNKNOWN_METHOD);

View File

@ -1,6 +1,6 @@
#!/bin/sh
export PHP_IMAGE=registry.fakecake.org/infra/php8.3-alpine:3.19
export PHP_IMAGE=registry.fakecake.org/infra/php8.3-alpine3.20
docker run --rm -v $(pwd):/app -v /tmp/phpstan:/tmp/phpstan \
--workdir /app ${PHP_IMAGE} \

View File

@ -1,5 +1,7 @@
#!/bin/sh
export PHP_IMAGE=registry.fakecake.org/infra/php8.3-alpine3.20
docker run --rm -v $(pwd):/app -e API_URL=${API_URL} \
--workdir /app registry.fakecake.org/infra/php8.3-alpine:3.19 \
--workdir /app ${PHP_IMAGE} \
php83 -d memory_limit=-1 ./vendor/bin/phpunit --group integration

View File

@ -1,5 +1,7 @@
#!/bin/sh
export PHP_IMAGE=registry.fakecake.org/infra/php8.3-alpine3.20
docker run --rm -v $(pwd):/app \
--workdir /app registry.fakecake.org/infra/php-fpm8.3-alpine3.19:latest \
--workdir /app ${PHP_IMAGE} \
php83 -d memory_limit=-1 ./vendor/bin/phpunit --exclude integration

File diff suppressed because it is too large Load Diff

View File

@ -6,24 +6,11 @@ $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
return array(
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
'23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
'5897ea0ac4cccf14d323035e65887801' => $vendorDir . '/symfony/polyfill-php82/bootstrap.php',
'8e92226780215d0ec758aa7b73e0ede9' => $vendorDir . '/open-telemetry/context/fiber/initialize_fiber_handler.php',
'c7b4a5d8b94d270f0f9a84f81e1dd63d' => $vendorDir . '/open-telemetry/api/Trace/functions.php',
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'a4ecaeafb8cfb009ad0e052c90355e98' => $vendorDir . '/beberlei/assert/lib/Assert/functions.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'c695cb998ba36e4bafc3d028efc7d113' => $vendorDir . '/open-telemetry/sdk/Common/Util/functions.php',
'd991bdbfe253499825156f17c4a721db' => $vendorDir . '/open-telemetry/sdk/Logs/Exporter/_register.php',
'01d424d2624f29a2eef00b09eb00935e' => $vendorDir . '/open-telemetry/sdk/Metrics/MetricExporter/_register.php',
'063d0a0034c5e2149209c15208de47e4' => $vendorDir . '/open-telemetry/sdk/Propagation/_register.php',
'2cc49ecec7e065b3a5423e964c0275e6' => $vendorDir . '/open-telemetry/sdk/Trace/SpanExporter/_register.php',
'062120a429d7568eacd495a8c34fcf09' => $vendorDir . '/open-telemetry/sdk/Common/Dev/Compatibility/_load.php',
'88e3b63cfb48eb8ea316a8a85a5f5c5f' => $vendorDir . '/open-telemetry/sdk/_autoload.php',
'51fcf4e06c07cc00c920b44bcd900e7a' => $vendorDir . '/thecodingmachine/safe/deprecated/apc.php',
'288267919fedd3829a7732b5fb202197' => $vendorDir . '/thecodingmachine/safe/deprecated/array.php',
'a88cd08cfbf1600f7d5de6e587eee1fa' => $vendorDir . '/thecodingmachine/safe/deprecated/datetime.php',
@ -111,7 +98,6 @@ return array(
'4af1dca6db8c527c6eed27bff85ff0e5' => $vendorDir . '/thecodingmachine/safe/generated/yaz.php',
'fe43ca06499ac37bc2dedd823af71eb5' => $vendorDir . '/thecodingmachine/safe/generated/zip.php',
'356736db98a6834f0a886b8d509b0ecd' => $vendorDir . '/thecodingmachine/safe/generated/zlib.php',
'157bbd0180425c7142fbaf1b1646bec3' => $vendorDir . '/open-telemetry/exporter-otlp/_register.php',
'9b38cf48e83f5d8f60375221cd213eee' => $vendorDir . '/phpstan/phpstan/bootstrap.php',
'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
'1c27df0e838db1c8a6427db7c5db3db2' => $baseDir . '/include/functions.php',

View File

@ -10,34 +10,19 @@ return array(
'chillerlan\\Settings\\' => array($vendorDir . '/chillerlan/php-settings-container/src'),
'chillerlan\\QRCode\\' => array($vendorDir . '/chillerlan/php-qrcode/src'),
'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
'Symfony\\Polyfill\\Php82\\' => array($vendorDir . '/symfony/polyfill-php82'),
'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'),
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Soundasleep\\' => array($vendorDir . '/soundasleep/html2text/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/src'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src/Prophecy'),
'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'),
'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
'Opentelemetry\\Proto\\' => array($vendorDir . '/open-telemetry/gen-otlp-protobuf/Opentelemetry/Proto'),
'OpenTelemetry\\SemConv\\' => array($vendorDir . '/open-telemetry/sem-conv'),
'OpenTelemetry\\SDK\\' => array($vendorDir . '/open-telemetry/sdk'),
'OpenTelemetry\\Contrib\\Otlp\\' => array($vendorDir . '/open-telemetry/exporter-otlp'),
'OpenTelemetry\\Context\\' => array($vendorDir . '/open-telemetry/context'),
'OpenTelemetry\\API\\' => array($vendorDir . '/open-telemetry/api'),
'OTPHP\\' => array($vendorDir . '/spomky-labs/otphp/src'),
'Http\\Promise\\' => array($vendorDir . '/php-http/promise/src'),
'Http\\Discovery\\' => array($vendorDir . '/php-http/discovery/src'),
'Http\\Client\\' => array($vendorDir . '/php-http/httplug/src'),
'Http\\Adapter\\Guzzle7\\' => array($vendorDir . '/php-http/guzzle7-adapter/src'),
'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
'Google\\Protobuf\\' => array($vendorDir . '/google/protobuf/src/Google/Protobuf'),
'GPBMetadata\\Opentelemetry\\' => array($vendorDir . '/open-telemetry/gen-otlp-protobuf/GPBMetadata/Opentelemetry'),
'GPBMetadata\\Google\\Protobuf\\' => array($vendorDir . '/google/protobuf/src/GPBMetadata/Google/Protobuf'),
'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
'Assert\\' => array($vendorDir . '/beberlei/assert/lib/Assert'),

File diff suppressed because it is too large Load Diff

View File

@ -291,53 +291,6 @@
],
"install-path": "../doctrine/instantiator"
},
{
"name": "google/protobuf",
"version": "v3.24.4",
"version_normalized": "3.24.4.0",
"source": {
"type": "git",
"url": "https://github.com/protocolbuffers/protobuf-php.git",
"reference": "672d69e25f71b9364fdf1810eb8a8573defdc404"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/672d69e25f71b9364fdf1810eb8a8573defdc404",
"reference": "672d69e25f71b9364fdf1810eb8a8573defdc404",
"shasum": ""
},
"require": {
"php": ">=7.0.0"
},
"require-dev": {
"phpunit/phpunit": ">=5.0.0"
},
"suggest": {
"ext-bcmath": "Need to support JSON deserialization"
},
"time": "2023-10-04T17:22:47+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
"psr-4": {
"Google\\Protobuf\\": "src/Google/Protobuf",
"GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "proto library for PHP",
"homepage": "https://developers.google.com/protocol-buffers/",
"keywords": [
"proto"
],
"support": {
"source": "https://github.com/protocolbuffers/protobuf-php/tree/v3.24.4"
},
"install-path": "../google/protobuf"
},
{
"name": "guzzlehttp/guzzle",
"version": "7.8.1",
@ -907,416 +860,6 @@
},
"install-path": "../nikic/php-parser"
},
{
"name": "open-telemetry/api",
"version": "1.0.0",
"version_normalized": "1.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/api.git",
"reference": "d577d732333d38a9a6c16936363ee25f1e3f1c3c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/api/zipball/d577d732333d38a9a6c16936363ee25f1e3f1c3c",
"reference": "d577d732333d38a9a6c16936363ee25f1e3f1c3c",
"shasum": ""
},
"require": {
"open-telemetry/context": "^1.0",
"php": "^7.4 || ^8.0",
"psr/log": "^1.1|^2.0|^3.0",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",
"symfony/polyfill-php82": "^1.26"
},
"time": "2023-09-27T23:15:51+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"Trace/functions.php"
],
"psr-4": {
"OpenTelemetry\\API\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "API for OpenTelemetry PHP.",
"keywords": [
"Metrics",
"api",
"apm",
"logging",
"opentelemetry",
"otel",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"install-path": "../open-telemetry/api"
},
{
"name": "open-telemetry/context",
"version": "1.0.0",
"version_normalized": "1.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/context.git",
"reference": "99f3d54fa9f9ff67421774feeef5e5b1f209ea21"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/context/zipball/99f3d54fa9f9ff67421774feeef5e5b1f209ea21",
"reference": "99f3d54fa9f9ff67421774feeef5e5b1f209ea21",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",
"symfony/polyfill-php82": "^1.26"
},
"suggest": {
"ext-ffi": "To allow context switching in Fibers"
},
"time": "2023-09-05T03:38:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"fiber/initialize_fiber_handler.php"
],
"psr-4": {
"OpenTelemetry\\Context\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "Context implementation for OpenTelemetry PHP.",
"keywords": [
"Context",
"opentelemetry",
"otel"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"install-path": "../open-telemetry/context"
},
{
"name": "open-telemetry/exporter-otlp",
"version": "1.0.0",
"version_normalized": "1.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/exporter-otlp.git",
"reference": "756092bdff472ea49adb7843c74011606d065b36"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/756092bdff472ea49adb7843c74011606d065b36",
"reference": "756092bdff472ea49adb7843c74011606d065b36",
"shasum": ""
},
"require": {
"open-telemetry/api": "^1.0",
"open-telemetry/gen-otlp-protobuf": "^1.0",
"open-telemetry/sdk": "^1.0",
"php": "^7.4 || ^8.0",
"php-http/discovery": "^1.14"
},
"time": "2023-10-13T00:48:23+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"_register.php"
],
"psr-4": {
"OpenTelemetry\\Contrib\\Otlp\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "OTLP exporter for OpenTelemetry.",
"keywords": [
"Metrics",
"exporter",
"gRPC",
"http",
"opentelemetry",
"otel",
"otlp",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"install-path": "../open-telemetry/exporter-otlp"
},
{
"name": "open-telemetry/gen-otlp-protobuf",
"version": "1.0.0",
"version_normalized": "1.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git",
"reference": "30fe95f10c2ec1a577f78257c86fbbebe739ca5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/30fe95f10c2ec1a577f78257c86fbbebe739ca5e",
"reference": "30fe95f10c2ec1a577f78257c86fbbebe739ca5e",
"shasum": ""
},
"require": {
"google/protobuf": "^3.3.0",
"php": "^7.4 || ^8.0"
},
"suggest": {
"ext-protobuf": "For better performance, when dealing with the protobuf format"
},
"time": "2023-09-05T03:38:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Opentelemetry\\Proto\\": "Opentelemetry/Proto/",
"GPBMetadata\\Opentelemetry\\": "GPBMetadata/Opentelemetry/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "PHP protobuf files for communication with OpenTelemetry OTLP collectors/servers.",
"keywords": [
"Metrics",
"apm",
"gRPC",
"logging",
"opentelemetry",
"otel",
"otlp",
"protobuf",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"install-path": "../open-telemetry/gen-otlp-protobuf"
},
{
"name": "open-telemetry/sdk",
"version": "1.0.0",
"version_normalized": "1.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/sdk.git",
"reference": "1c6020b4f1b85fdd647538ee46f6c83360d7c11e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/1c6020b4f1b85fdd647538ee46f6c83360d7c11e",
"reference": "1c6020b4f1b85fdd647538ee46f6c83360d7c11e",
"shasum": ""
},
"require": {
"ext-json": "*",
"open-telemetry/api": "^1.0",
"open-telemetry/context": "^1.0",
"open-telemetry/sem-conv": "^1.0",
"php": "^7.4 || ^8.0",
"php-http/discovery": "^1.14",
"psr/http-client": "^1.0",
"psr/http-client-implementation": "^1.0",
"psr/http-factory-implementation": "^1.0",
"psr/http-message": "^1.0.1|^2.0",
"psr/log": "^1.1|^2.0|^3.0",
"symfony/polyfill-mbstring": "^1.23",
"symfony/polyfill-php80": "^1.26",
"symfony/polyfill-php81": "^1.26",
"symfony/polyfill-php82": "^1.26"
},
"suggest": {
"ext-gmp": "To support unlimited number of synchronous metric readers",
"ext-mbstring": "To increase performance of string operations"
},
"time": "2023-10-18T20:53:08+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.0.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"Common/Util/functions.php",
"Logs/Exporter/_register.php",
"Metrics/MetricExporter/_register.php",
"Propagation/_register.php",
"Trace/SpanExporter/_register.php",
"Common/Dev/Compatibility/_load.php",
"_autoload.php"
],
"psr-4": {
"OpenTelemetry\\SDK\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "SDK for OpenTelemetry PHP.",
"keywords": [
"Metrics",
"apm",
"logging",
"opentelemetry",
"otel",
"sdk",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"install-path": "../open-telemetry/sdk"
},
{
"name": "open-telemetry/sem-conv",
"version": "1.22.1",
"version_normalized": "1.22.1.0",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/sem-conv.git",
"reference": "e582b874ee89bec544f962db212b3966fe9310a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/e582b874ee89bec544f962db212b3966fe9310a7",
"reference": "e582b874ee89bec544f962db212b3966fe9310a7",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
},
"time": "2023-10-19T20:10:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"OpenTelemetry\\SemConv\\": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "opentelemetry-php contributors",
"homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
}
],
"description": "Semantic conventions for OpenTelemetry PHP.",
"keywords": [
"Metrics",
"apm",
"logging",
"opentelemetry",
"otel",
"semantic conventions",
"semconv",
"tracing"
],
"support": {
"chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V",
"docs": "https://opentelemetry.io/docs/php",
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"install-path": "../open-telemetry/sem-conv"
},
{
"name": "paragonie/constant_time_encoding",
"version": "v2.6.3",
@ -1504,87 +1047,6 @@
},
"install-path": "../phar-io/version"
},
{
"name": "php-http/discovery",
"version": "1.19.1",
"version_normalized": "1.19.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/discovery.git",
"reference": "57f3de01d32085fea20865f9b16fb0e69347c39e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/discovery/zipball/57f3de01d32085fea20865f9b16fb0e69347c39e",
"reference": "57f3de01d32085fea20865f9b16fb0e69347c39e",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0|^2.0",
"php": "^7.1 || ^8.0"
},
"conflict": {
"nyholm/psr7": "<1.0",
"zendframework/zend-diactoros": "*"
},
"provide": {
"php-http/async-client-implementation": "*",
"php-http/client-implementation": "*",
"psr/http-client-implementation": "*",
"psr/http-factory-implementation": "*",
"psr/http-message-implementation": "*"
},
"require-dev": {
"composer/composer": "^1.0.2|^2.0",
"graham-campbell/phpspec-skip-example-extension": "^5.0",
"php-http/httplug": "^1.0 || ^2.0",
"php-http/message-factory": "^1.0",
"phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
"symfony/phpunit-bridge": "^6.2"
},
"time": "2023-07-11T07:02:26+00:00",
"type": "composer-plugin",
"extra": {
"class": "Http\\Discovery\\Composer\\Plugin",
"plugin-optional": true
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Http\\Discovery\\": "src/"
},
"exclude-from-classmap": [
"src/Composer/Plugin.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations",
"homepage": "http://php-http.org",
"keywords": [
"adapter",
"client",
"discovery",
"factory",
"http",
"message",
"psr17",
"psr7"
],
"support": {
"issues": "https://github.com/php-http/discovery/issues",
"source": "https://github.com/php-http/discovery/tree/1.19.1"
},
"install-path": "../php-http/discovery"
},
{
"name": "php-http/guzzle7-adapter",
"version": "1.0.0",
@ -2679,59 +2141,6 @@
},
"install-path": "../psr/http-message"
},
{
"name": "psr/log",
"version": "3.0.0",
"version_normalized": "3.0.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
"reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
"php": ">=8.0.0"
},
"time": "2021-07-14T16:46:02+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.x-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/3.0.0"
},
"install-path": "../psr/log"
},
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
@ -3997,342 +3406,6 @@
],
"install-path": "../symfony/deprecation-contracts"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.28.0",
"version_normalized": "1.28.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
"reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"time": "2023-07-28T09:04:16+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-mbstring"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.28.0",
"version_normalized": "1.28.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"time": "2023-01-26T09:26:14+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-php80"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.28.0",
"version_normalized": "1.28.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"time": "2023-01-26T09:26:14+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-php81"
},
{
"name": "symfony/polyfill-php82",
"version": "v1.28.0",
"version_normalized": "1.28.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php82.git",
"reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/7716bea9c86776fb3362d6b52fe1fc9471056a49",
"reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"time": "2023-08-25T17:27:25+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"installation-source": "dist",
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php82\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php82/tree/v1.28.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"install-path": "../symfony/polyfill-php82"
},
{
"name": "thecodingmachine/safe",
"version": "v2.2.2",

View File

@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => 'd4ae6c67db8c966ab4998fda6df14072b103106b',
'reference' => '8fcc68baf5b0ff964a0a4a045353462586e0e316',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
'reference' => 'd4ae6c67db8c966ab4998fda6df14072b103106b',
'reference' => '8fcc68baf5b0ff964a0a4a045353462586e0e316',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@ -55,15 +55,6 @@
'aliases' => array(),
'dev_requirement' => true,
),
'google/protobuf' => array(
'pretty_version' => 'v3.24.4',
'version' => '3.24.4.0',
'reference' => '672d69e25f71b9364fdf1810eb8a8573defdc404',
'type' => 'library',
'install_path' => __DIR__ . '/../google/protobuf',
'aliases' => array(),
'dev_requirement' => false,
),
'guzzlehttp/guzzle' => array(
'pretty_version' => '7.8.1',
'version' => '7.8.1.0',
@ -129,60 +120,6 @@
'aliases' => array(),
'dev_requirement' => true,
),
'open-telemetry/api' => array(
'pretty_version' => '1.0.0',
'version' => '1.0.0.0',
'reference' => 'd577d732333d38a9a6c16936363ee25f1e3f1c3c',
'type' => 'library',
'install_path' => __DIR__ . '/../open-telemetry/api',
'aliases' => array(),
'dev_requirement' => false,
),
'open-telemetry/context' => array(
'pretty_version' => '1.0.0',
'version' => '1.0.0.0',
'reference' => '99f3d54fa9f9ff67421774feeef5e5b1f209ea21',
'type' => 'library',
'install_path' => __DIR__ . '/../open-telemetry/context',
'aliases' => array(),
'dev_requirement' => false,
),
'open-telemetry/exporter-otlp' => array(
'pretty_version' => '1.0.0',
'version' => '1.0.0.0',
'reference' => '756092bdff472ea49adb7843c74011606d065b36',
'type' => 'library',
'install_path' => __DIR__ . '/../open-telemetry/exporter-otlp',
'aliases' => array(),
'dev_requirement' => false,
),
'open-telemetry/gen-otlp-protobuf' => array(
'pretty_version' => '1.0.0',
'version' => '1.0.0.0',
'reference' => '30fe95f10c2ec1a577f78257c86fbbebe739ca5e',
'type' => 'library',
'install_path' => __DIR__ . '/../open-telemetry/gen-otlp-protobuf',
'aliases' => array(),
'dev_requirement' => false,
),
'open-telemetry/sdk' => array(
'pretty_version' => '1.0.0',
'version' => '1.0.0.0',
'reference' => '1c6020b4f1b85fdd647538ee46f6c83360d7c11e',
'type' => 'library',
'install_path' => __DIR__ . '/../open-telemetry/sdk',
'aliases' => array(),
'dev_requirement' => false,
),
'open-telemetry/sem-conv' => array(
'pretty_version' => '1.22.1',
'version' => '1.22.1.0',
'reference' => 'e582b874ee89bec544f962db212b3966fe9310a7',
'type' => 'library',
'install_path' => __DIR__ . '/../open-telemetry/sem-conv',
'aliases' => array(),
'dev_requirement' => false,
),
'paragonie/constant_time_encoding' => array(
'pretty_version' => 'v2.6.3',
'version' => '2.6.3.0',
@ -213,26 +150,15 @@
'php-http/async-client-implementation' => array(
'dev_requirement' => false,
'provided' => array(
0 => '*',
1 => '1.0',
0 => '1.0',
),
),
'php-http/client-implementation' => array(
'dev_requirement' => false,
'provided' => array(
0 => '*',
1 => '1.0',
0 => '1.0',
),
),
'php-http/discovery' => array(
'pretty_version' => '1.19.1',
'version' => '1.19.1.0',
'reference' => '57f3de01d32085fea20865f9b16fb0e69347c39e',
'type' => 'composer-plugin',
'install_path' => __DIR__ . '/../php-http/discovery',
'aliases' => array(),
'dev_requirement' => false,
),
'php-http/guzzle7-adapter' => array(
'pretty_version' => '1.0.0',
'version' => '1.0.0.0',
@ -371,8 +297,7 @@
'psr/http-client-implementation' => array(
'dev_requirement' => false,
'provided' => array(
0 => '*',
1 => '1.0',
0 => '1.0',
),
),
'psr/http-factory' => array(
@ -388,7 +313,6 @@
'dev_requirement' => false,
'provided' => array(
0 => '1.0',
1 => '*',
),
),
'psr/http-message' => array(
@ -404,18 +328,8 @@
'dev_requirement' => false,
'provided' => array(
0 => '1.0',
1 => '*',
),
),
'psr/log' => array(
'pretty_version' => '3.0.0',
'version' => '3.0.0.0',
'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001',
'type' => 'library',
'install_path' => __DIR__ . '/../psr/log',
'aliases' => array(),
'dev_requirement' => false,
),
'ralouphie/getallheaders' => array(
'pretty_version' => '3.0.3',
'version' => '3.0.3.0',
@ -596,42 +510,6 @@
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-mbstring' => array(
'pretty_version' => 'v1.28.0',
'version' => '1.28.0.0',
'reference' => '42292d99c55abe617799667f454222c54c60e229',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php80' => array(
'pretty_version' => 'v1.28.0',
'version' => '1.28.0.0',
'reference' => '6caa57379c4aec19c0a12a38b59b26487dcfe4b5',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php80',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php81' => array(
'pretty_version' => 'v1.28.0',
'version' => '1.28.0.0',
'reference' => '7581cd600fa9fd681b797d00b02f068e2f13263b',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php81',
'aliases' => array(),
'dev_requirement' => false,
),
'symfony/polyfill-php82' => array(
'pretty_version' => 'v1.28.0',
'version' => '1.28.0.0',
'reference' => '7716bea9c86776fb3362d6b52fe1fc9471056a49',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/polyfill-php82',
'aliases' => array(),
'dev_requirement' => false,
),
'thecodingmachine/safe' => array(
'pretty_version' => 'v2.2.2',
'version' => '2.2.2.0',

View File

@ -1,29 +0,0 @@
BSD 3-Clause License
Copyright (c) 2019, Protocol Buffers
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -1,2 +0,0 @@
# protobuf-php
This repository contains only PHP files to support Composer installation. This repository is a mirror of [protobuf](https://github.com/protocolbuffers/protobuf). Any support requests, bug reports, or development contributions should be directed to that project. To install protobuf for PHP, please see https://github.com/protocolbuffers/protobuf/tree/master/php

View File

@ -1,23 +0,0 @@
{
"name": "google/protobuf",
"type": "library",
"description": "proto library for PHP",
"keywords": ["proto"],
"homepage": "https://developers.google.com/protocol-buffers/",
"license": "BSD-3-Clause",
"require": {
"php": ">=7.0.0"
},
"require-dev": {
"phpunit/phpunit": ">=5.0.0"
},
"suggest": {
"ext-bcmath": "Need to support JSON deserialization"
},
"autoload": {
"psr-4": {
"Google\\Protobuf\\": "src/Google/Protobuf",
"GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf"
}
}
}

View File

@ -1,30 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/any.proto
namespace GPBMetadata\Google\Protobuf;
class Any
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
Ô
google/protobuf/any.protogoogle.protobuf"&
Any
type_url ( 
value ( Bv
com.google.protobufBAnyProtoPZ,google.golang.org/protobuf/types/known/anypb˘GPBŞGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,48 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/api.proto
namespace GPBMetadata\Google\Protobuf;
class Api
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
\GPBMetadata\Google\Protobuf\SourceContext::initOnce();
\GPBMetadata\Google\Protobuf\Type::initOnce();
$pool->internalAddGeneratedFile(
'
É
google/protobuf/api.protogoogle.protobufgoogle/protobuf/type.proto"<EFBFBD>
Api
name ( (
methods ( 2.google.protobuf.Method(
options ( 2.google.protobuf.Option
version ( 6
source_context ( 2.google.protobuf.SourceContext&
mixins ( 2.google.protobuf.Mixin\'
syntax (2.google.protobuf.Syntax"Ő
Method
name ( 
request_type_url ( 
request_streaming (
response_type_url ( 
response_streaming ((
options ( 2.google.protobuf.Option\'
syntax (2.google.protobuf.Syntax"#
Mixin
name ( 
root ( Bv
com.google.protobufBApiProtoPZ,google.golang.org/protobuf/types/known/apipb˘GPBŞGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,30 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/duration.proto
namespace GPBMetadata\Google\Protobuf;
class Duration
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
ë
google/protobuf/duration.protogoogle.protobuf"*
Duration
seconds (
nanos (
com.google.protobufB DurationProtoPZ1google.golang.org/protobuf/types/known/durationpbø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,29 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/field_mask.proto
namespace GPBMetadata\Google\Protobuf;
class FieldMask
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
ß
google/protobuf/field_mask.protogoogle.protobuf"
FieldMask
paths ( B…
com.google.protobufBFieldMaskProtoPZ2google.golang.org/protobuf/types/known/fieldmaskpbř˘GPBŞGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,29 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/empty.proto
namespace GPBMetadata\Google\Protobuf;
class GPBEmpty
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
ž
google/protobuf/empty.protogoogle.protobuf"
EmptyB}
com.google.protobufB
EmptyProtoPZ.google.golang.org/protobuf/types/known/emptypbř˘GPBŞGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,282 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace GPBMetadata\Google\Protobuf\Internal;
class Descriptor
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->addMessage('google.protobuf.internal.FileDescriptorSet', \Google\Protobuf\Internal\FileDescriptorSet::class)
->repeated('file', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.FileDescriptorProto')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.FileDescriptorProto', \Google\Protobuf\Internal\FileDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->optional('package', \Google\Protobuf\Internal\GPBType::STRING, 2)
->repeated('dependency', \Google\Protobuf\Internal\GPBType::STRING, 3)
->repeated('public_dependency', \Google\Protobuf\Internal\GPBType::INT32, 10)
->repeated('weak_dependency', \Google\Protobuf\Internal\GPBType::INT32, 11)
->repeated('message_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.DescriptorProto')
->repeated('enum_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 5, 'google.protobuf.internal.EnumDescriptorProto')
->repeated('service', \Google\Protobuf\Internal\GPBType::MESSAGE, 6, 'google.protobuf.internal.ServiceDescriptorProto')
->repeated('extension', \Google\Protobuf\Internal\GPBType::MESSAGE, 7, 'google.protobuf.internal.FieldDescriptorProto')
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 8, 'google.protobuf.internal.FileOptions')
->optional('source_code_info', \Google\Protobuf\Internal\GPBType::MESSAGE, 9, 'google.protobuf.internal.SourceCodeInfo')
->optional('syntax', \Google\Protobuf\Internal\GPBType::STRING, 12)
->optional('edition', \Google\Protobuf\Internal\GPBType::STRING, 13)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.DescriptorProto', \Google\Protobuf\Internal\DescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->repeated('field', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.FieldDescriptorProto')
->repeated('extension', \Google\Protobuf\Internal\GPBType::MESSAGE, 6, 'google.protobuf.internal.FieldDescriptorProto')
->repeated('nested_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.DescriptorProto')
->repeated('enum_type', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.EnumDescriptorProto')
->repeated('extension_range', \Google\Protobuf\Internal\GPBType::MESSAGE, 5, 'google.protobuf.internal.DescriptorProto.ExtensionRange')
->repeated('oneof_decl', \Google\Protobuf\Internal\GPBType::MESSAGE, 8, 'google.protobuf.internal.OneofDescriptorProto')
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 7, 'google.protobuf.internal.MessageOptions')
->repeated('reserved_range', \Google\Protobuf\Internal\GPBType::MESSAGE, 9, 'google.protobuf.internal.DescriptorProto.ReservedRange')
->repeated('reserved_name', \Google\Protobuf\Internal\GPBType::STRING, 10)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.DescriptorProto.ExtensionRange', \Google\Protobuf\Internal\DescriptorProto\ExtensionRange::class)
->optional('start', \Google\Protobuf\Internal\GPBType::INT32, 1)
->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 2)
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.ExtensionRangeOptions')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.DescriptorProto.ReservedRange', \Google\Protobuf\Internal\DescriptorProto\ReservedRange::class)
->optional('start', \Google\Protobuf\Internal\GPBType::INT32, 1)
->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 2)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.ExtensionRangeOptions', \Google\Protobuf\Internal\ExtensionRangeOptions::class)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.FieldDescriptorProto', \Google\Protobuf\Internal\FieldDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->optional('number', \Google\Protobuf\Internal\GPBType::INT32, 3)
->optional('label', \Google\Protobuf\Internal\GPBType::ENUM, 4, 'google.protobuf.internal.FieldDescriptorProto.Label')
->optional('type', \Google\Protobuf\Internal\GPBType::ENUM, 5, 'google.protobuf.internal.FieldDescriptorProto.Type')
->optional('type_name', \Google\Protobuf\Internal\GPBType::STRING, 6)
->optional('extendee', \Google\Protobuf\Internal\GPBType::STRING, 2)
->optional('default_value', \Google\Protobuf\Internal\GPBType::STRING, 7)
->optional('oneof_index', \Google\Protobuf\Internal\GPBType::INT32, 9)
->optional('json_name', \Google\Protobuf\Internal\GPBType::STRING, 10)
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 8, 'google.protobuf.internal.FieldOptions')
->optional('proto3_optional', \Google\Protobuf\Internal\GPBType::BOOL, 17)
->finalizeToPool();
$pool->addEnum('google.protobuf.internal.FieldDescriptorProto.Type', \Google\Protobuf\Internal\Type::class)
->value("TYPE_DOUBLE", 1)
->value("TYPE_FLOAT", 2)
->value("TYPE_INT64", 3)
->value("TYPE_UINT64", 4)
->value("TYPE_INT32", 5)
->value("TYPE_FIXED64", 6)
->value("TYPE_FIXED32", 7)
->value("TYPE_BOOL", 8)
->value("TYPE_STRING", 9)
->value("TYPE_GROUP", 10)
->value("TYPE_MESSAGE", 11)
->value("TYPE_BYTES", 12)
->value("TYPE_UINT32", 13)
->value("TYPE_ENUM", 14)
->value("TYPE_SFIXED32", 15)
->value("TYPE_SFIXED64", 16)
->value("TYPE_SINT32", 17)
->value("TYPE_SINT64", 18)
->finalizeToPool();
$pool->addEnum('google.protobuf.internal.FieldDescriptorProto.Label', \Google\Protobuf\Internal\Label::class)
->value("LABEL_OPTIONAL", 1)
->value("LABEL_REQUIRED", 2)
->value("LABEL_REPEATED", 3)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.OneofDescriptorProto', \Google\Protobuf\Internal\OneofDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.OneofOptions')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.EnumDescriptorProto', \Google\Protobuf\Internal\EnumDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->repeated('value', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.EnumValueDescriptorProto')
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.EnumOptions')
->repeated('reserved_range', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.EnumDescriptorProto.EnumReservedRange')
->repeated('reserved_name', \Google\Protobuf\Internal\GPBType::STRING, 5)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.EnumDescriptorProto.EnumReservedRange', \Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange::class)
->optional('start', \Google\Protobuf\Internal\GPBType::INT32, 1)
->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 2)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.EnumValueDescriptorProto', \Google\Protobuf\Internal\EnumValueDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->optional('number', \Google\Protobuf\Internal\GPBType::INT32, 2)
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.EnumValueOptions')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.ServiceDescriptorProto', \Google\Protobuf\Internal\ServiceDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->repeated('method', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.MethodDescriptorProto')
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 3, 'google.protobuf.internal.ServiceOptions')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.MethodDescriptorProto', \Google\Protobuf\Internal\MethodDescriptorProto::class)
->optional('name', \Google\Protobuf\Internal\GPBType::STRING, 1)
->optional('input_type', \Google\Protobuf\Internal\GPBType::STRING, 2)
->optional('output_type', \Google\Protobuf\Internal\GPBType::STRING, 3)
->optional('options', \Google\Protobuf\Internal\GPBType::MESSAGE, 4, 'google.protobuf.internal.MethodOptions')
->optional('client_streaming', \Google\Protobuf\Internal\GPBType::BOOL, 5)
->optional('server_streaming', \Google\Protobuf\Internal\GPBType::BOOL, 6)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.FileOptions', \Google\Protobuf\Internal\FileOptions::class)
->optional('java_package', \Google\Protobuf\Internal\GPBType::STRING, 1)
->optional('java_outer_classname', \Google\Protobuf\Internal\GPBType::STRING, 8)
->optional('java_multiple_files', \Google\Protobuf\Internal\GPBType::BOOL, 10)
->optional('java_generate_equals_and_hash', \Google\Protobuf\Internal\GPBType::BOOL, 20)
->optional('java_string_check_utf8', \Google\Protobuf\Internal\GPBType::BOOL, 27)
->optional('optimize_for', \Google\Protobuf\Internal\GPBType::ENUM, 9, 'google.protobuf.internal.FileOptions.OptimizeMode')
->optional('go_package', \Google\Protobuf\Internal\GPBType::STRING, 11)
->optional('cc_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 16)
->optional('java_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 17)
->optional('py_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 18)
->optional('php_generic_services', \Google\Protobuf\Internal\GPBType::BOOL, 42)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 23)
->optional('cc_enable_arenas', \Google\Protobuf\Internal\GPBType::BOOL, 31)
->optional('objc_class_prefix', \Google\Protobuf\Internal\GPBType::STRING, 36)
->optional('csharp_namespace', \Google\Protobuf\Internal\GPBType::STRING, 37)
->optional('swift_prefix', \Google\Protobuf\Internal\GPBType::STRING, 39)
->optional('php_class_prefix', \Google\Protobuf\Internal\GPBType::STRING, 40)
->optional('php_namespace', \Google\Protobuf\Internal\GPBType::STRING, 41)
->optional('php_metadata_namespace', \Google\Protobuf\Internal\GPBType::STRING, 44)
->optional('ruby_package', \Google\Protobuf\Internal\GPBType::STRING, 45)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addEnum('google.protobuf.internal.FileOptions.OptimizeMode', \Google\Protobuf\Internal\OptimizeMode::class)
->value("SPEED", 1)
->value("CODE_SIZE", 2)
->value("LITE_RUNTIME", 3)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.MessageOptions', \Google\Protobuf\Internal\MessageOptions::class)
->optional('message_set_wire_format', \Google\Protobuf\Internal\GPBType::BOOL, 1)
->optional('no_standard_descriptor_accessor', \Google\Protobuf\Internal\GPBType::BOOL, 2)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 3)
->optional('map_entry', \Google\Protobuf\Internal\GPBType::BOOL, 7)
->optional('deprecated_legacy_json_field_conflicts', \Google\Protobuf\Internal\GPBType::BOOL, 11)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.FieldOptions', \Google\Protobuf\Internal\FieldOptions::class)
->optional('ctype', \Google\Protobuf\Internal\GPBType::ENUM, 1, 'google.protobuf.internal.FieldOptions.CType')
->optional('packed', \Google\Protobuf\Internal\GPBType::BOOL, 2)
->optional('jstype', \Google\Protobuf\Internal\GPBType::ENUM, 6, 'google.protobuf.internal.FieldOptions.JSType')
->optional('lazy', \Google\Protobuf\Internal\GPBType::BOOL, 5)
->optional('unverified_lazy', \Google\Protobuf\Internal\GPBType::BOOL, 15)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 3)
->optional('weak', \Google\Protobuf\Internal\GPBType::BOOL, 10)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addEnum('google.protobuf.internal.FieldOptions.CType', \Google\Protobuf\Internal\CType::class)
->value("STRING", 0)
->value("CORD", 1)
->value("STRING_PIECE", 2)
->finalizeToPool();
$pool->addEnum('google.protobuf.internal.FieldOptions.JSType', \Google\Protobuf\Internal\JSType::class)
->value("JS_NORMAL", 0)
->value("JS_STRING", 1)
->value("JS_NUMBER", 2)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.OneofOptions', \Google\Protobuf\Internal\OneofOptions::class)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.EnumOptions', \Google\Protobuf\Internal\EnumOptions::class)
->optional('allow_alias', \Google\Protobuf\Internal\GPBType::BOOL, 2)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 3)
->optional('deprecated_legacy_json_field_conflicts', \Google\Protobuf\Internal\GPBType::BOOL, 6)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.EnumValueOptions', \Google\Protobuf\Internal\EnumValueOptions::class)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 1)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.ServiceOptions', \Google\Protobuf\Internal\ServiceOptions::class)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 33)
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.MethodOptions', \Google\Protobuf\Internal\MethodOptions::class)
->optional('deprecated', \Google\Protobuf\Internal\GPBType::BOOL, 33)
->optional('idempotency_level', \Google\Protobuf\Internal\GPBType::ENUM, 34, 'google.protobuf.internal.MethodOptions.IdempotencyLevel')
->repeated('uninterpreted_option', \Google\Protobuf\Internal\GPBType::MESSAGE, 999, 'google.protobuf.internal.UninterpretedOption')
->finalizeToPool();
$pool->addEnum('google.protobuf.internal.MethodOptions.IdempotencyLevel', \Google\Protobuf\Internal\IdempotencyLevel::class)
->value("IDEMPOTENCY_UNKNOWN", 0)
->value("NO_SIDE_EFFECTS", 1)
->value("IDEMPOTENT", 2)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.UninterpretedOption', \Google\Protobuf\Internal\UninterpretedOption::class)
->repeated('name', \Google\Protobuf\Internal\GPBType::MESSAGE, 2, 'google.protobuf.internal.UninterpretedOption.NamePart')
->optional('identifier_value', \Google\Protobuf\Internal\GPBType::STRING, 3)
->optional('positive_int_value', \Google\Protobuf\Internal\GPBType::UINT64, 4)
->optional('negative_int_value', \Google\Protobuf\Internal\GPBType::INT64, 5)
->optional('double_value', \Google\Protobuf\Internal\GPBType::DOUBLE, 6)
->optional('string_value', \Google\Protobuf\Internal\GPBType::BYTES, 7)
->optional('aggregate_value', \Google\Protobuf\Internal\GPBType::STRING, 8)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.UninterpretedOption.NamePart', \Google\Protobuf\Internal\UninterpretedOption\NamePart::class)
->required('name_part', \Google\Protobuf\Internal\GPBType::STRING, 1)
->required('is_extension', \Google\Protobuf\Internal\GPBType::BOOL, 2)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.SourceCodeInfo', \Google\Protobuf\Internal\SourceCodeInfo::class)
->repeated('location', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.SourceCodeInfo.Location')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.SourceCodeInfo.Location', \Google\Protobuf\Internal\SourceCodeInfo\Location::class)
->repeated('path', \Google\Protobuf\Internal\GPBType::INT32, 1)
->repeated('span', \Google\Protobuf\Internal\GPBType::INT32, 2)
->optional('leading_comments', \Google\Protobuf\Internal\GPBType::STRING, 3)
->optional('trailing_comments', \Google\Protobuf\Internal\GPBType::STRING, 4)
->repeated('leading_detached_comments', \Google\Protobuf\Internal\GPBType::STRING, 6)
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.GeneratedCodeInfo', \Google\Protobuf\Internal\GeneratedCodeInfo::class)
->repeated('annotation', \Google\Protobuf\Internal\GPBType::MESSAGE, 1, 'google.protobuf.internal.GeneratedCodeInfo.Annotation')
->finalizeToPool();
$pool->addMessage('google.protobuf.internal.GeneratedCodeInfo.Annotation', \Google\Protobuf\Internal\GeneratedCodeInfo\Annotation::class)
->repeated('path', \Google\Protobuf\Internal\GPBType::INT32, 1)
->optional('source_file', \Google\Protobuf\Internal\GPBType::STRING, 2)
->optional('begin', \Google\Protobuf\Internal\GPBType::INT32, 3)
->optional('end', \Google\Protobuf\Internal\GPBType::INT32, 4)
->finalizeToPool();
$pool->finish();
static::$is_initialized = true;
}
}

View File

@ -1,29 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/source_context.proto
namespace GPBMetadata\Google\Protobuf;
class SourceContext
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
ð
$google/protobuf/source_context.protogoogle.protobuf""
SourceContext
file_name ( 
com.google.protobufBSourceContextProtoPZ6google.golang.org/protobuf/types/known/sourcecontextpb¢GPBªGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,30 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/timestamp.proto
namespace GPBMetadata\Google\Protobuf;
class Timestamp
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
ď
google/protobuf/timestamp.protogoogle.protobuf"+
Timestamp
seconds (
nanos (B…
com.google.protobufBTimestampProtoPZ2google.golang.org/protobuf/types/known/timestamppbř˘GPBŞGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,49 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace GPBMetadata\Google\Protobuf;
class Wrappers
{
public static $is_initialized = false;
public static function initOnce() {
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
if (static::$is_initialized == true) {
return;
}
$pool->internalAddGeneratedFile(
'
Ç
google/protobuf/wrappers.protogoogle.protobuf"
DoubleValue
value ("
FloatValue
value ("
Int64Value
value ("
UInt64Value
value ("
Int32Value
value ("
UInt32Value
value ( "
BoolValue
value ("
StringValue
value ( "
BytesValue
value ( 
com.google.protobufB WrappersProtoPZ1google.golang.org/protobuf/types/known/wrapperspbø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3'
, true);
static::$is_initialized = true;
}
}

View File

@ -1,257 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/any.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* `Any` contains an arbitrary serialized protocol buffer message along with a
* URL that describes the type of the serialized message.
* Protobuf library provides support to pack/unpack Any values in the form
* of utility functions or additional generated methods of the Any type.
* Example 1: Pack and unpack a message in C++.
* Foo foo = ...;
* Any any;
* any.PackFrom(foo);
* ...
* if (any.UnpackTo(&foo)) {
* ...
* }
* Example 2: Pack and unpack a message in Java.
* Foo foo = ...;
* Any any = Any.pack(foo);
* ...
* if (any.is(Foo.class)) {
* foo = any.unpack(Foo.class);
* }
* // or ...
* if (any.isSameTypeAs(Foo.getDefaultInstance())) {
* foo = any.unpack(Foo.getDefaultInstance());
* }
* Example 3: Pack and unpack a message in Python.
* foo = Foo(...)
* any = Any()
* any.Pack(foo)
* ...
* if any.Is(Foo.DESCRIPTOR):
* any.Unpack(foo)
* ...
* Example 4: Pack and unpack a message in Go
* foo := &pb.Foo{...}
* any, err := anypb.New(foo)
* if err != nil {
* ...
* }
* ...
* foo := &pb.Foo{}
* if err := any.UnmarshalTo(foo); err != nil {
* ...
* }
* The pack methods provided by protobuf library will by default use
* 'type.googleapis.com/full.type.name' as the type URL and the unpack
* methods only use the fully qualified type name after the last '/'
* in the type URL, for example "foo.bar.com/x/y.z" will yield type
* name "y.z".
* JSON
* The JSON representation of an `Any` value uses the regular
* representation of the deserialized, embedded message, with an
* additional field `&#64;type` which contains the type URL. Example:
* package google.profile;
* message Person {
* string first_name = 1;
* string last_name = 2;
* }
* {
* "&#64;type": "type.googleapis.com/google.profile.Person",
* "firstName": <string>,
* "lastName": <string>
* }
* If the embedded message type is well-known and has a custom JSON
* representation, that representation will be embedded adding a field
* `value` which holds the custom JSON in addition to the `&#64;type`
* field. Example (for message [google.protobuf.Duration][]):
* {
* "&#64;type": "type.googleapis.com/google.protobuf.Duration",
* "value": "1.212s"
* }
*
* Generated from protobuf message <code>google.protobuf.Any</code>
*/
class Any extends \Google\Protobuf\Internal\AnyBase
{
/**
* A URL/resource name that uniquely identifies the type of the serialized
* protocol buffer message. This string must contain at least
* one "/" character. The last segment of the URL's path must represent
* the fully qualified name of the type (as in
* `path/google.protobuf.Duration`). The name should be in a canonical form
* (e.g., leading "." is not accepted).
* In practice, teams usually precompile into the binary all types that they
* expect it to use in the context of Any. However, for URLs which use the
* scheme `http`, `https`, or no scheme, one can optionally set up a type
* server that maps type URLs to message definitions as follows:
* * If no scheme is provided, `https` is assumed.
* * An HTTP GET on the URL must yield a [google.protobuf.Type][]
* value in binary format, or produce an error.
* * Applications are allowed to cache lookup results based on the
* URL, or have them precompiled into a binary to avoid any
* lookup. Therefore, binary compatibility needs to be preserved
* on changes to types. (Use versioned type names to manage
* breaking changes.)
* Note: this functionality is not currently available in the official
* protobuf release, and it is not used for type URLs beginning with
* type.googleapis.com.
* Schemes other than `http`, `https` (or the empty scheme) might be
* used with implementation specific semantics.
*
* Generated from protobuf field <code>string type_url = 1;</code>
*/
protected $type_url = '';
/**
* Must be a valid serialized protocol buffer of the above specified type.
*
* Generated from protobuf field <code>bytes value = 2;</code>
*/
protected $value = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $type_url
* A URL/resource name that uniquely identifies the type of the serialized
* protocol buffer message. This string must contain at least
* one "/" character. The last segment of the URL's path must represent
* the fully qualified name of the type (as in
* `path/google.protobuf.Duration`). The name should be in a canonical form
* (e.g., leading "." is not accepted).
* In practice, teams usually precompile into the binary all types that they
* expect it to use in the context of Any. However, for URLs which use the
* scheme `http`, `https`, or no scheme, one can optionally set up a type
* server that maps type URLs to message definitions as follows:
* * If no scheme is provided, `https` is assumed.
* * An HTTP GET on the URL must yield a [google.protobuf.Type][]
* value in binary format, or produce an error.
* * Applications are allowed to cache lookup results based on the
* URL, or have them precompiled into a binary to avoid any
* lookup. Therefore, binary compatibility needs to be preserved
* on changes to types. (Use versioned type names to manage
* breaking changes.)
* Note: this functionality is not currently available in the official
* protobuf release, and it is not used for type URLs beginning with
* type.googleapis.com.
* Schemes other than `http`, `https` (or the empty scheme) might be
* used with implementation specific semantics.
* @type string $value
* Must be a valid serialized protocol buffer of the above specified type.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Any::initOnce();
parent::__construct($data);
}
/**
* A URL/resource name that uniquely identifies the type of the serialized
* protocol buffer message. This string must contain at least
* one "/" character. The last segment of the URL's path must represent
* the fully qualified name of the type (as in
* `path/google.protobuf.Duration`). The name should be in a canonical form
* (e.g., leading "." is not accepted).
* In practice, teams usually precompile into the binary all types that they
* expect it to use in the context of Any. However, for URLs which use the
* scheme `http`, `https`, or no scheme, one can optionally set up a type
* server that maps type URLs to message definitions as follows:
* * If no scheme is provided, `https` is assumed.
* * An HTTP GET on the URL must yield a [google.protobuf.Type][]
* value in binary format, or produce an error.
* * Applications are allowed to cache lookup results based on the
* URL, or have them precompiled into a binary to avoid any
* lookup. Therefore, binary compatibility needs to be preserved
* on changes to types. (Use versioned type names to manage
* breaking changes.)
* Note: this functionality is not currently available in the official
* protobuf release, and it is not used for type URLs beginning with
* type.googleapis.com.
* Schemes other than `http`, `https` (or the empty scheme) might be
* used with implementation specific semantics.
*
* Generated from protobuf field <code>string type_url = 1;</code>
* @return string
*/
public function getTypeUrl()
{
return $this->type_url;
}
/**
* A URL/resource name that uniquely identifies the type of the serialized
* protocol buffer message. This string must contain at least
* one "/" character. The last segment of the URL's path must represent
* the fully qualified name of the type (as in
* `path/google.protobuf.Duration`). The name should be in a canonical form
* (e.g., leading "." is not accepted).
* In practice, teams usually precompile into the binary all types that they
* expect it to use in the context of Any. However, for URLs which use the
* scheme `http`, `https`, or no scheme, one can optionally set up a type
* server that maps type URLs to message definitions as follows:
* * If no scheme is provided, `https` is assumed.
* * An HTTP GET on the URL must yield a [google.protobuf.Type][]
* value in binary format, or produce an error.
* * Applications are allowed to cache lookup results based on the
* URL, or have them precompiled into a binary to avoid any
* lookup. Therefore, binary compatibility needs to be preserved
* on changes to types. (Use versioned type names to manage
* breaking changes.)
* Note: this functionality is not currently available in the official
* protobuf release, and it is not used for type URLs beginning with
* type.googleapis.com.
* Schemes other than `http`, `https` (or the empty scheme) might be
* used with implementation specific semantics.
*
* Generated from protobuf field <code>string type_url = 1;</code>
* @param string $var
* @return $this
*/
public function setTypeUrl($var)
{
GPBUtil::checkString($var, True);
$this->type_url = $var;
return $this;
}
/**
* Must be a valid serialized protocol buffer of the above specified type.
*
* Generated from protobuf field <code>bytes value = 2;</code>
* @return string
*/
public function getValue()
{
return $this->value;
}
/**
* Must be a valid serialized protocol buffer of the above specified type.
*
* Generated from protobuf field <code>bytes value = 2;</code>
* @param string $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkString($var, False);
$this->value = $var;
return $this;
}
}

View File

@ -1,360 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/api.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Api is a light-weight descriptor for an API Interface.
* Interfaces are also described as "protocol buffer services" in some contexts,
* such as by the "service" keyword in a .proto file, but they are different
* from API Services, which represent a concrete implementation of an interface
* as opposed to simply a description of methods and bindings. They are also
* sometimes simply referred to as "APIs" in other contexts, such as the name of
* this message itself. See https://cloud.google.com/apis/design/glossary for
* detailed terminology.
*
* Generated from protobuf message <code>google.protobuf.Api</code>
*/
class Api extends \Google\Protobuf\Internal\Message
{
/**
* The fully qualified name of this interface, including package name
* followed by the interface's simple name.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
protected $name = '';
/**
* The methods of this interface, in unspecified order.
*
* Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
*/
private $methods;
/**
* Any metadata attached to the interface.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
*/
private $options;
/**
* A version string for this interface. If specified, must have the form
* `major-version.minor-version`, as in `1.10`. If the minor version is
* omitted, it defaults to zero. If the entire version field is empty, the
* major version is derived from the package name, as outlined below. If the
* field is not empty, the version in the package name will be verified to be
* consistent with what is provided here.
* The versioning schema uses [semantic
* versioning](http://semver.org) where the major version number
* indicates a breaking change and the minor version an additive,
* non-breaking change. Both version numbers are signals to users
* what to expect from different versions, and should be carefully
* chosen based on the product plan.
* The major version is also reflected in the package name of the
* interface, which must end in `v<major-version>`, as in
* `google.feature.v1`. For major versions 0 and 1, the suffix can
* be omitted. Zero major versions must only be used for
* experimental, non-GA interfaces.
*
* Generated from protobuf field <code>string version = 4;</code>
*/
protected $version = '';
/**
* Source context for the protocol buffer service represented by this
* message.
*
* Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
*/
protected $source_context = null;
/**
* Included interfaces. See [Mixin][].
*
* Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
*/
private $mixins;
/**
* The source syntax of the service.
*
* Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
*/
protected $syntax = 0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* The fully qualified name of this interface, including package name
* followed by the interface's simple name.
* @type array<\Google\Protobuf\Method>|\Google\Protobuf\Internal\RepeatedField $methods
* The methods of this interface, in unspecified order.
* @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
* Any metadata attached to the interface.
* @type string $version
* A version string for this interface. If specified, must have the form
* `major-version.minor-version`, as in `1.10`. If the minor version is
* omitted, it defaults to zero. If the entire version field is empty, the
* major version is derived from the package name, as outlined below. If the
* field is not empty, the version in the package name will be verified to be
* consistent with what is provided here.
* The versioning schema uses [semantic
* versioning](http://semver.org) where the major version number
* indicates a breaking change and the minor version an additive,
* non-breaking change. Both version numbers are signals to users
* what to expect from different versions, and should be carefully
* chosen based on the product plan.
* The major version is also reflected in the package name of the
* interface, which must end in `v<major-version>`, as in
* `google.feature.v1`. For major versions 0 and 1, the suffix can
* be omitted. Zero major versions must only be used for
* experimental, non-GA interfaces.
* @type \Google\Protobuf\SourceContext $source_context
* Source context for the protocol buffer service represented by this
* message.
* @type array<\Google\Protobuf\Mixin>|\Google\Protobuf\Internal\RepeatedField $mixins
* Included interfaces. See [Mixin][].
* @type int $syntax
* The source syntax of the service.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Api::initOnce();
parent::__construct($data);
}
/**
* The fully qualified name of this interface, including package name
* followed by the interface's simple name.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The fully qualified name of this interface, including package name
* followed by the interface's simple name.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* The methods of this interface, in unspecified order.
*
* Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getMethods()
{
return $this->methods;
}
/**
* The methods of this interface, in unspecified order.
*
* Generated from protobuf field <code>repeated .google.protobuf.Method methods = 2;</code>
* @param array<\Google\Protobuf\Method>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setMethods($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Method::class);
$this->methods = $arr;
return $this;
}
/**
* Any metadata attached to the interface.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getOptions()
{
return $this->options;
}
/**
* Any metadata attached to the interface.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
* @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setOptions($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
$this->options = $arr;
return $this;
}
/**
* A version string for this interface. If specified, must have the form
* `major-version.minor-version`, as in `1.10`. If the minor version is
* omitted, it defaults to zero. If the entire version field is empty, the
* major version is derived from the package name, as outlined below. If the
* field is not empty, the version in the package name will be verified to be
* consistent with what is provided here.
* The versioning schema uses [semantic
* versioning](http://semver.org) where the major version number
* indicates a breaking change and the minor version an additive,
* non-breaking change. Both version numbers are signals to users
* what to expect from different versions, and should be carefully
* chosen based on the product plan.
* The major version is also reflected in the package name of the
* interface, which must end in `v<major-version>`, as in
* `google.feature.v1`. For major versions 0 and 1, the suffix can
* be omitted. Zero major versions must only be used for
* experimental, non-GA interfaces.
*
* Generated from protobuf field <code>string version = 4;</code>
* @return string
*/
public function getVersion()
{
return $this->version;
}
/**
* A version string for this interface. If specified, must have the form
* `major-version.minor-version`, as in `1.10`. If the minor version is
* omitted, it defaults to zero. If the entire version field is empty, the
* major version is derived from the package name, as outlined below. If the
* field is not empty, the version in the package name will be verified to be
* consistent with what is provided here.
* The versioning schema uses [semantic
* versioning](http://semver.org) where the major version number
* indicates a breaking change and the minor version an additive,
* non-breaking change. Both version numbers are signals to users
* what to expect from different versions, and should be carefully
* chosen based on the product plan.
* The major version is also reflected in the package name of the
* interface, which must end in `v<major-version>`, as in
* `google.feature.v1`. For major versions 0 and 1, the suffix can
* be omitted. Zero major versions must only be used for
* experimental, non-GA interfaces.
*
* Generated from protobuf field <code>string version = 4;</code>
* @param string $var
* @return $this
*/
public function setVersion($var)
{
GPBUtil::checkString($var, True);
$this->version = $var;
return $this;
}
/**
* Source context for the protocol buffer service represented by this
* message.
*
* Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
* @return \Google\Protobuf\SourceContext|null
*/
public function getSourceContext()
{
return $this->source_context;
}
public function hasSourceContext()
{
return isset($this->source_context);
}
public function clearSourceContext()
{
unset($this->source_context);
}
/**
* Source context for the protocol buffer service represented by this
* message.
*
* Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 5;</code>
* @param \Google\Protobuf\SourceContext $var
* @return $this
*/
public function setSourceContext($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\SourceContext::class);
$this->source_context = $var;
return $this;
}
/**
* Included interfaces. See [Mixin][].
*
* Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getMixins()
{
return $this->mixins;
}
/**
* Included interfaces. See [Mixin][].
*
* Generated from protobuf field <code>repeated .google.protobuf.Mixin mixins = 6;</code>
* @param array<\Google\Protobuf\Mixin>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setMixins($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Mixin::class);
$this->mixins = $arr;
return $this;
}
/**
* The source syntax of the service.
*
* Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
* @return int
*/
public function getSyntax()
{
return $this->syntax;
}
/**
* The source syntax of the service.
*
* Generated from protobuf field <code>.google.protobuf.Syntax syntax = 7;</code>
* @param int $var
* @return $this
*/
public function setSyntax($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
$this->syntax = $var;
return $this;
}
}

View File

@ -1,68 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Wrapper message for `bool`.
* The JSON representation for `BoolValue` is JSON `true` and `false`.
*
* Generated from protobuf message <code>google.protobuf.BoolValue</code>
*/
class BoolValue extends \Google\Protobuf\Internal\Message
{
/**
* The bool value.
*
* Generated from protobuf field <code>bool value = 1;</code>
*/
protected $value = false;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type bool $value
* The bool value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
parent::__construct($data);
}
/**
* The bool value.
*
* Generated from protobuf field <code>bool value = 1;</code>
* @return bool
*/
public function getValue()
{
return $this->value;
}
/**
* The bool value.
*
* Generated from protobuf field <code>bool value = 1;</code>
* @param bool $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkBool($var);
$this->value = $var;
return $this;
}
}

View File

@ -1,68 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Wrapper message for `bytes`.
* The JSON representation for `BytesValue` is JSON string.
*
* Generated from protobuf message <code>google.protobuf.BytesValue</code>
*/
class BytesValue extends \Google\Protobuf\Internal\Message
{
/**
* The bytes value.
*
* Generated from protobuf field <code>bytes value = 1;</code>
*/
protected $value = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $value
* The bytes value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
parent::__construct($data);
}
/**
* The bytes value.
*
* Generated from protobuf field <code>bytes value = 1;</code>
* @return string
*/
public function getValue()
{
return $this->value;
}
/**
* The bytes value.
*
* Generated from protobuf field <code>bytes value = 1;</code>
* @param string $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkString($var, False);
$this->value = $var;
return $this;
}
}

View File

@ -1,108 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2017 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf;
use Google\Protobuf\Internal\GetPublicDescriptorTrait;
class Descriptor
{
use GetPublicDescriptorTrait;
private $internal_desc;
/**
* @internal
*/
public function __construct($internal_desc)
{
$this->internal_desc = $internal_desc;
}
/**
* @return string Full protobuf message name
*/
public function getFullName()
{
return trim($this->internal_desc->getFullName(), ".");
}
/**
* @return string PHP class name
*/
public function getClass()
{
return $this->internal_desc->getClass();
}
/**
* @param int $index Must be >= 0 and < getFieldCount()
* @return FieldDescriptor
*/
public function getField($index)
{
return $this->getPublicDescriptor($this->internal_desc->getFieldByIndex($index));
}
/**
* @return int Number of fields in message
*/
public function getFieldCount()
{
return count($this->internal_desc->getField());
}
/**
* @param int $index Must be >= 0 and < getOneofDeclCount()
* @return OneofDescriptor
*/
public function getOneofDecl($index)
{
return $this->getPublicDescriptor($this->internal_desc->getOneofDecl()[$index]);
}
/**
* @return int Number of oneofs in message
*/
public function getOneofDeclCount()
{
return count($this->internal_desc->getOneofDecl());
}
/**
* @return int Number of real oneofs in message
*/
public function getRealOneofDeclCount()
{
return $this->internal_desc->getRealOneofDeclCount();
}
}

View File

@ -1,76 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2017 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf;
class DescriptorPool
{
private static $pool;
private $internal_pool;
/**
* @return DescriptorPool
*/
public static function getGeneratedPool()
{
if (!isset(self::$pool)) {
self::$pool = new DescriptorPool(\Google\Protobuf\Internal\DescriptorPool::getGeneratedPool());
}
return self::$pool;
}
private function __construct($internal_pool)
{
$this->internal_pool = $internal_pool;
}
/**
* @param string $className A fully qualified protobuf class name
* @return Descriptor
*/
public function getDescriptorByClassName($className)
{
$desc = $this->internal_pool->getDescriptorByClassName($className);
return is_null($desc) ? null : $desc->getPublicDescriptor();
}
/**
* @param string $className A fully qualified protobuf class name
* @return EnumDescriptor
*/
public function getEnumDescriptorByClassName($className)
{
$desc = $this->internal_pool->getEnumDescriptorByClassName($className);
return is_null($desc) ? null : $desc->getPublicDescriptor();
}
}

View File

@ -1,68 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Wrapper message for `double`.
* The JSON representation for `DoubleValue` is JSON number.
*
* Generated from protobuf message <code>google.protobuf.DoubleValue</code>
*/
class DoubleValue extends \Google\Protobuf\Internal\Message
{
/**
* The double value.
*
* Generated from protobuf field <code>double value = 1;</code>
*/
protected $value = 0.0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type float $value
* The double value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
parent::__construct($data);
}
/**
* The double value.
*
* Generated from protobuf field <code>double value = 1;</code>
* @return float
*/
public function getValue()
{
return $this->value;
}
/**
* The double value.
*
* Generated from protobuf field <code>double value = 1;</code>
* @param float $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkDouble($var);
$this->value = $var;
return $this;
}
}

View File

@ -1,173 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/duration.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* A Duration represents a signed, fixed-length span of time represented
* as a count of seconds and fractions of seconds at nanosecond
* resolution. It is independent of any calendar and concepts like "day"
* or "month". It is related to Timestamp in that the difference between
* two Timestamp values is a Duration and it can be added or subtracted
* from a Timestamp. Range is approximately +-10,000 years.
* # Examples
* Example 1: Compute Duration from two Timestamps in pseudo code.
* Timestamp start = ...;
* Timestamp end = ...;
* Duration duration = ...;
* duration.seconds = end.seconds - start.seconds;
* duration.nanos = end.nanos - start.nanos;
* if (duration.seconds < 0 && duration.nanos > 0) {
* duration.seconds += 1;
* duration.nanos -= 1000000000;
* } else if (duration.seconds > 0 && duration.nanos < 0) {
* duration.seconds -= 1;
* duration.nanos += 1000000000;
* }
* Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
* Timestamp start = ...;
* Duration duration = ...;
* Timestamp end = ...;
* end.seconds = start.seconds + duration.seconds;
* end.nanos = start.nanos + duration.nanos;
* if (end.nanos < 0) {
* end.seconds -= 1;
* end.nanos += 1000000000;
* } else if (end.nanos >= 1000000000) {
* end.seconds += 1;
* end.nanos -= 1000000000;
* }
* Example 3: Compute Duration from datetime.timedelta in Python.
* td = datetime.timedelta(days=3, minutes=10)
* duration = Duration()
* duration.FromTimedelta(td)
* # JSON Mapping
* In JSON format, the Duration type is encoded as a string rather than an
* object, where the string ends in the suffix "s" (indicating seconds) and
* is preceded by the number of seconds, with nanoseconds expressed as
* fractional seconds. For example, 3 seconds with 0 nanoseconds should be
* encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
* be expressed in JSON format as "3.000000001s", and 3 seconds and 1
* microsecond should be expressed in JSON format as "3.000001s".
*
* Generated from protobuf message <code>google.protobuf.Duration</code>
*/
class Duration extends \Google\Protobuf\Internal\Message
{
/**
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
*
* Generated from protobuf field <code>int64 seconds = 1;</code>
*/
protected $seconds = 0;
/**
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
*
* Generated from protobuf field <code>int32 nanos = 2;</code>
*/
protected $nanos = 0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int|string $seconds
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
* @type int $nanos
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Duration::initOnce();
parent::__construct($data);
}
/**
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
*
* Generated from protobuf field <code>int64 seconds = 1;</code>
* @return int|string
*/
public function getSeconds()
{
return $this->seconds;
}
/**
* Signed seconds of the span of time. Must be from -315,576,000,000
* to +315,576,000,000 inclusive. Note: these bounds are computed from:
* 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
*
* Generated from protobuf field <code>int64 seconds = 1;</code>
* @param int|string $var
* @return $this
*/
public function setSeconds($var)
{
GPBUtil::checkInt64($var);
$this->seconds = $var;
return $this;
}
/**
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
*
* Generated from protobuf field <code>int32 nanos = 2;</code>
* @return int
*/
public function getNanos()
{
return $this->nanos;
}
/**
* Signed fractions of a second at nanosecond resolution of the span
* of time. Durations less than one second are represented with a 0
* `seconds` field and a positive or negative `nanos` field. For durations
* of one second or more, a non-zero value for the `nanos` field must be
* of the same sign as the `seconds` field. Must be from -999,999,999
* to +999,999,999 inclusive.
*
* Generated from protobuf field <code>int32 nanos = 2;</code>
* @param int $var
* @return $this
*/
public function setNanos($var)
{
GPBUtil::checkInt32($var);
$this->nanos = $var;
return $this;
}
}

View File

@ -1,213 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Enum type definition.
*
* Generated from protobuf message <code>google.protobuf.Enum</code>
*/
class Enum extends \Google\Protobuf\Internal\Message
{
/**
* Enum type name.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
protected $name = '';
/**
* Enum value definitions.
*
* Generated from protobuf field <code>repeated .google.protobuf.EnumValue enumvalue = 2;</code>
*/
private $enumvalue;
/**
* Protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
*/
private $options;
/**
* The source context.
*
* Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 4;</code>
*/
protected $source_context = null;
/**
* The source syntax.
*
* Generated from protobuf field <code>.google.protobuf.Syntax syntax = 5;</code>
*/
protected $syntax = 0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* Enum type name.
* @type array<\Google\Protobuf\EnumValue>|\Google\Protobuf\Internal\RepeatedField $enumvalue
* Enum value definitions.
* @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
* Protocol buffer options.
* @type \Google\Protobuf\SourceContext $source_context
* The source context.
* @type int $syntax
* The source syntax.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Type::initOnce();
parent::__construct($data);
}
/**
* Enum type name.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Enum type name.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Enum value definitions.
*
* Generated from protobuf field <code>repeated .google.protobuf.EnumValue enumvalue = 2;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getEnumvalue()
{
return $this->enumvalue;
}
/**
* Enum value definitions.
*
* Generated from protobuf field <code>repeated .google.protobuf.EnumValue enumvalue = 2;</code>
* @param array<\Google\Protobuf\EnumValue>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setEnumvalue($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\EnumValue::class);
$this->enumvalue = $arr;
return $this;
}
/**
* Protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getOptions()
{
return $this->options;
}
/**
* Protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
* @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setOptions($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
$this->options = $arr;
return $this;
}
/**
* The source context.
*
* Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 4;</code>
* @return \Google\Protobuf\SourceContext|null
*/
public function getSourceContext()
{
return $this->source_context;
}
public function hasSourceContext()
{
return isset($this->source_context);
}
public function clearSourceContext()
{
unset($this->source_context);
}
/**
* The source context.
*
* Generated from protobuf field <code>.google.protobuf.SourceContext source_context = 4;</code>
* @param \Google\Protobuf\SourceContext $var
* @return $this
*/
public function setSourceContext($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\SourceContext::class);
$this->source_context = $var;
return $this;
}
/**
* The source syntax.
*
* Generated from protobuf field <code>.google.protobuf.Syntax syntax = 5;</code>
* @return int
*/
public function getSyntax()
{
return $this->syntax;
}
/**
* The source syntax.
*
* Generated from protobuf field <code>.google.protobuf.Syntax syntax = 5;</code>
* @param int $var
* @return $this
*/
public function setSyntax($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Syntax::class);
$this->syntax = $var;
return $this;
}
}

View File

@ -1,79 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2017 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf;
class EnumDescriptor
{
private $internal_desc;
/**
* @internal
*/
public function __construct($internal_desc)
{
$this->internal_desc = $internal_desc;
}
/**
* @return string Full protobuf message name
*/
public function getFullName()
{
return $this->internal_desc->getFullName();
}
/**
* @return string PHP class name
*/
public function getClass()
{
return $this->internal_desc->getClass();
}
/**
* @param int $index Must be >= 0 and < getValueCount()
* @return EnumValueDescriptor
*/
public function getValue($index)
{
return $this->internal_desc->getValueDescriptorByIndex($index);
}
/**
* @return int Number of values in enum
*/
public function getValueCount()
{
return $this->internal_desc->getValueCount();
}
}

View File

@ -1,135 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Enum value definition.
*
* Generated from protobuf message <code>google.protobuf.EnumValue</code>
*/
class EnumValue extends \Google\Protobuf\Internal\Message
{
/**
* Enum value name.
*
* Generated from protobuf field <code>string name = 1;</code>
*/
protected $name = '';
/**
* Enum value number.
*
* Generated from protobuf field <code>int32 number = 2;</code>
*/
protected $number = 0;
/**
* Protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
*/
private $options;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* Enum value name.
* @type int $number
* Enum value number.
* @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
* Protocol buffer options.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Type::initOnce();
parent::__construct($data);
}
/**
* Enum value name.
*
* Generated from protobuf field <code>string name = 1;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Enum value name.
*
* Generated from protobuf field <code>string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Enum value number.
*
* Generated from protobuf field <code>int32 number = 2;</code>
* @return int
*/
public function getNumber()
{
return $this->number;
}
/**
* Enum value number.
*
* Generated from protobuf field <code>int32 number = 2;</code>
* @param int $var
* @return $this
*/
public function setNumber($var)
{
GPBUtil::checkInt32($var);
$this->number = $var;
return $this;
}
/**
* Protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getOptions()
{
return $this->options;
}
/**
* Protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 3;</code>
* @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setOptions($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
$this->options = $arr;
return $this;
}
}

View File

@ -1,64 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf;
class EnumValueDescriptor
{
private $name;
private $number;
/**
* @internal
*/
public function __construct($name, $number)
{
$this->name = $name;
$this->number = $number;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @return int
*/
public function getNumber()
{
return $this->number;
}
}

View File

@ -1,381 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* A single field of a message type.
*
* Generated from protobuf message <code>google.protobuf.Field</code>
*/
class Field extends \Google\Protobuf\Internal\Message
{
/**
* The field type.
*
* Generated from protobuf field <code>.google.protobuf.Field.Kind kind = 1;</code>
*/
protected $kind = 0;
/**
* The field cardinality.
*
* Generated from protobuf field <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
*/
protected $cardinality = 0;
/**
* The field number.
*
* Generated from protobuf field <code>int32 number = 3;</code>
*/
protected $number = 0;
/**
* The field name.
*
* Generated from protobuf field <code>string name = 4;</code>
*/
protected $name = '';
/**
* The field type URL, without the scheme, for message or enumeration
* types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
*
* Generated from protobuf field <code>string type_url = 6;</code>
*/
protected $type_url = '';
/**
* The index of the field type in `Type.oneofs`, for message or enumeration
* types. The first type has index 1; zero means the type is not in the list.
*
* Generated from protobuf field <code>int32 oneof_index = 7;</code>
*/
protected $oneof_index = 0;
/**
* Whether to use alternative packed wire representation.
*
* Generated from protobuf field <code>bool packed = 8;</code>
*/
protected $packed = false;
/**
* The protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 9;</code>
*/
private $options;
/**
* The field JSON name.
*
* Generated from protobuf field <code>string json_name = 10;</code>
*/
protected $json_name = '';
/**
* The string value of the default value of this field. Proto2 syntax only.
*
* Generated from protobuf field <code>string default_value = 11;</code>
*/
protected $default_value = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $kind
* The field type.
* @type int $cardinality
* The field cardinality.
* @type int $number
* The field number.
* @type string $name
* The field name.
* @type string $type_url
* The field type URL, without the scheme, for message or enumeration
* types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
* @type int $oneof_index
* The index of the field type in `Type.oneofs`, for message or enumeration
* types. The first type has index 1; zero means the type is not in the list.
* @type bool $packed
* Whether to use alternative packed wire representation.
* @type array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $options
* The protocol buffer options.
* @type string $json_name
* The field JSON name.
* @type string $default_value
* The string value of the default value of this field. Proto2 syntax only.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Type::initOnce();
parent::__construct($data);
}
/**
* The field type.
*
* Generated from protobuf field <code>.google.protobuf.Field.Kind kind = 1;</code>
* @return int
*/
public function getKind()
{
return $this->kind;
}
/**
* The field type.
*
* Generated from protobuf field <code>.google.protobuf.Field.Kind kind = 1;</code>
* @param int $var
* @return $this
*/
public function setKind($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Field\Kind::class);
$this->kind = $var;
return $this;
}
/**
* The field cardinality.
*
* Generated from protobuf field <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
* @return int
*/
public function getCardinality()
{
return $this->cardinality;
}
/**
* The field cardinality.
*
* Generated from protobuf field <code>.google.protobuf.Field.Cardinality cardinality = 2;</code>
* @param int $var
* @return $this
*/
public function setCardinality($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Field\Cardinality::class);
$this->cardinality = $var;
return $this;
}
/**
* The field number.
*
* Generated from protobuf field <code>int32 number = 3;</code>
* @return int
*/
public function getNumber()
{
return $this->number;
}
/**
* The field number.
*
* Generated from protobuf field <code>int32 number = 3;</code>
* @param int $var
* @return $this
*/
public function setNumber($var)
{
GPBUtil::checkInt32($var);
$this->number = $var;
return $this;
}
/**
* The field name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The field name.
*
* Generated from protobuf field <code>string name = 4;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* The field type URL, without the scheme, for message or enumeration
* types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
*
* Generated from protobuf field <code>string type_url = 6;</code>
* @return string
*/
public function getTypeUrl()
{
return $this->type_url;
}
/**
* The field type URL, without the scheme, for message or enumeration
* types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
*
* Generated from protobuf field <code>string type_url = 6;</code>
* @param string $var
* @return $this
*/
public function setTypeUrl($var)
{
GPBUtil::checkString($var, True);
$this->type_url = $var;
return $this;
}
/**
* The index of the field type in `Type.oneofs`, for message or enumeration
* types. The first type has index 1; zero means the type is not in the list.
*
* Generated from protobuf field <code>int32 oneof_index = 7;</code>
* @return int
*/
public function getOneofIndex()
{
return $this->oneof_index;
}
/**
* The index of the field type in `Type.oneofs`, for message or enumeration
* types. The first type has index 1; zero means the type is not in the list.
*
* Generated from protobuf field <code>int32 oneof_index = 7;</code>
* @param int $var
* @return $this
*/
public function setOneofIndex($var)
{
GPBUtil::checkInt32($var);
$this->oneof_index = $var;
return $this;
}
/**
* Whether to use alternative packed wire representation.
*
* Generated from protobuf field <code>bool packed = 8;</code>
* @return bool
*/
public function getPacked()
{
return $this->packed;
}
/**
* Whether to use alternative packed wire representation.
*
* Generated from protobuf field <code>bool packed = 8;</code>
* @param bool $var
* @return $this
*/
public function setPacked($var)
{
GPBUtil::checkBool($var);
$this->packed = $var;
return $this;
}
/**
* The protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 9;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getOptions()
{
return $this->options;
}
/**
* The protocol buffer options.
*
* Generated from protobuf field <code>repeated .google.protobuf.Option options = 9;</code>
* @param array<\Google\Protobuf\Option>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setOptions($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Option::class);
$this->options = $arr;
return $this;
}
/**
* The field JSON name.
*
* Generated from protobuf field <code>string json_name = 10;</code>
* @return string
*/
public function getJsonName()
{
return $this->json_name;
}
/**
* The field JSON name.
*
* Generated from protobuf field <code>string json_name = 10;</code>
* @param string $var
* @return $this
*/
public function setJsonName($var)
{
GPBUtil::checkString($var, True);
$this->json_name = $var;
return $this;
}
/**
* The string value of the default value of this field. Proto2 syntax only.
*
* Generated from protobuf field <code>string default_value = 11;</code>
* @return string
*/
public function getDefaultValue()
{
return $this->default_value;
}
/**
* The string value of the default value of this field. Proto2 syntax only.
*
* Generated from protobuf field <code>string default_value = 11;</code>
* @param string $var
* @return $this
*/
public function setDefaultValue($var)
{
GPBUtil::checkString($var, True);
$this->default_value = $var;
return $this;
}
}

View File

@ -1,71 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf\Field;
use UnexpectedValueException;
/**
* Whether a field is optional, required, or repeated.
*
* Protobuf type <code>google.protobuf.Field.Cardinality</code>
*/
class Cardinality
{
/**
* For fields with unknown cardinality.
*
* Generated from protobuf enum <code>CARDINALITY_UNKNOWN = 0;</code>
*/
const CARDINALITY_UNKNOWN = 0;
/**
* For optional fields.
*
* Generated from protobuf enum <code>CARDINALITY_OPTIONAL = 1;</code>
*/
const CARDINALITY_OPTIONAL = 1;
/**
* For required fields. Proto2 syntax only.
*
* Generated from protobuf enum <code>CARDINALITY_REQUIRED = 2;</code>
*/
const CARDINALITY_REQUIRED = 2;
/**
* For repeated fields.
*
* Generated from protobuf enum <code>CARDINALITY_REPEATED = 3;</code>
*/
const CARDINALITY_REPEATED = 3;
private static $valueToName = [
self::CARDINALITY_UNKNOWN => 'CARDINALITY_UNKNOWN',
self::CARDINALITY_OPTIONAL => 'CARDINALITY_OPTIONAL',
self::CARDINALITY_REQUIRED => 'CARDINALITY_REQUIRED',
self::CARDINALITY_REPEATED => 'CARDINALITY_REPEATED',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Cardinality::class, \Google\Protobuf\Field_Cardinality::class);

View File

@ -1,176 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf\Field;
use UnexpectedValueException;
/**
* Basic field types.
*
* Protobuf type <code>google.protobuf.Field.Kind</code>
*/
class Kind
{
/**
* Field type unknown.
*
* Generated from protobuf enum <code>TYPE_UNKNOWN = 0;</code>
*/
const TYPE_UNKNOWN = 0;
/**
* Field type double.
*
* Generated from protobuf enum <code>TYPE_DOUBLE = 1;</code>
*/
const TYPE_DOUBLE = 1;
/**
* Field type float.
*
* Generated from protobuf enum <code>TYPE_FLOAT = 2;</code>
*/
const TYPE_FLOAT = 2;
/**
* Field type int64.
*
* Generated from protobuf enum <code>TYPE_INT64 = 3;</code>
*/
const TYPE_INT64 = 3;
/**
* Field type uint64.
*
* Generated from protobuf enum <code>TYPE_UINT64 = 4;</code>
*/
const TYPE_UINT64 = 4;
/**
* Field type int32.
*
* Generated from protobuf enum <code>TYPE_INT32 = 5;</code>
*/
const TYPE_INT32 = 5;
/**
* Field type fixed64.
*
* Generated from protobuf enum <code>TYPE_FIXED64 = 6;</code>
*/
const TYPE_FIXED64 = 6;
/**
* Field type fixed32.
*
* Generated from protobuf enum <code>TYPE_FIXED32 = 7;</code>
*/
const TYPE_FIXED32 = 7;
/**
* Field type bool.
*
* Generated from protobuf enum <code>TYPE_BOOL = 8;</code>
*/
const TYPE_BOOL = 8;
/**
* Field type string.
*
* Generated from protobuf enum <code>TYPE_STRING = 9;</code>
*/
const TYPE_STRING = 9;
/**
* Field type group. Proto2 syntax only, and deprecated.
*
* Generated from protobuf enum <code>TYPE_GROUP = 10;</code>
*/
const TYPE_GROUP = 10;
/**
* Field type message.
*
* Generated from protobuf enum <code>TYPE_MESSAGE = 11;</code>
*/
const TYPE_MESSAGE = 11;
/**
* Field type bytes.
*
* Generated from protobuf enum <code>TYPE_BYTES = 12;</code>
*/
const TYPE_BYTES = 12;
/**
* Field type uint32.
*
* Generated from protobuf enum <code>TYPE_UINT32 = 13;</code>
*/
const TYPE_UINT32 = 13;
/**
* Field type enum.
*
* Generated from protobuf enum <code>TYPE_ENUM = 14;</code>
*/
const TYPE_ENUM = 14;
/**
* Field type sfixed32.
*
* Generated from protobuf enum <code>TYPE_SFIXED32 = 15;</code>
*/
const TYPE_SFIXED32 = 15;
/**
* Field type sfixed64.
*
* Generated from protobuf enum <code>TYPE_SFIXED64 = 16;</code>
*/
const TYPE_SFIXED64 = 16;
/**
* Field type sint32.
*
* Generated from protobuf enum <code>TYPE_SINT32 = 17;</code>
*/
const TYPE_SINT32 = 17;
/**
* Field type sint64.
*
* Generated from protobuf enum <code>TYPE_SINT64 = 18;</code>
*/
const TYPE_SINT64 = 18;
private static $valueToName = [
self::TYPE_UNKNOWN => 'TYPE_UNKNOWN',
self::TYPE_DOUBLE => 'TYPE_DOUBLE',
self::TYPE_FLOAT => 'TYPE_FLOAT',
self::TYPE_INT64 => 'TYPE_INT64',
self::TYPE_UINT64 => 'TYPE_UINT64',
self::TYPE_INT32 => 'TYPE_INT32',
self::TYPE_FIXED64 => 'TYPE_FIXED64',
self::TYPE_FIXED32 => 'TYPE_FIXED32',
self::TYPE_BOOL => 'TYPE_BOOL',
self::TYPE_STRING => 'TYPE_STRING',
self::TYPE_GROUP => 'TYPE_GROUP',
self::TYPE_MESSAGE => 'TYPE_MESSAGE',
self::TYPE_BYTES => 'TYPE_BYTES',
self::TYPE_UINT32 => 'TYPE_UINT32',
self::TYPE_ENUM => 'TYPE_ENUM',
self::TYPE_SFIXED32 => 'TYPE_SFIXED32',
self::TYPE_SFIXED64 => 'TYPE_SFIXED64',
self::TYPE_SINT32 => 'TYPE_SINT32',
self::TYPE_SINT64 => 'TYPE_SINT64',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Kind::class, \Google\Protobuf\Field_Kind::class);

View File

@ -1,144 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2017 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf;
use Google\Protobuf\Internal\GetPublicDescriptorTrait;
use Google\Protobuf\Internal\GPBType;
class FieldDescriptor
{
use GetPublicDescriptorTrait;
/** @var \Google\Protobuf\Internal\FieldDescriptor $internal_desc */
private $internal_desc;
/**
* @internal
*/
public function __construct($internal_desc)
{
$this->internal_desc = $internal_desc;
}
/**
* @return string Field name
*/
public function getName()
{
return $this->internal_desc->getName();
}
/**
* @return int Protobuf field number
*/
public function getNumber()
{
return $this->internal_desc->getNumber();
}
/**
* @return int
*/
public function getLabel()
{
return $this->internal_desc->getLabel();
}
/**
* @return int
*/
public function getType()
{
return $this->internal_desc->getType();
}
/**
* @return OneofDescriptor
*/
public function getContainingOneof()
{
return $this->getPublicDescriptor($this->internal_desc->getContainingOneof());
}
/**
* Gets the field's containing oneof, only if non-synthetic.
*
* @return null|OneofDescriptor
*/
public function getRealContainingOneof()
{
return $this->getPublicDescriptor($this->internal_desc->getRealContainingOneof());
}
/**
* @return boolean
*/
public function hasOptionalKeyword()
{
return $this->internal_desc->hasOptionalKeyword();
}
/**
* @return Descriptor Returns a descriptor for the field type if the field type is a message, otherwise throws \Exception
* @throws \Exception
*/
public function getMessageType()
{
if ($this->getType() == GPBType::MESSAGE) {
return $this->getPublicDescriptor($this->internal_desc->getMessageType());
} else {
throw new \Exception("Cannot get message type for non-message field '" . $this->getName() . "'");
}
}
/**
* @return EnumDescriptor Returns an enum descriptor if the field type is an enum, otherwise throws \Exception
* @throws \Exception
*/
public function getEnumType()
{
if ($this->getType() == GPBType::ENUM) {
return $this->getPublicDescriptor($this->internal_desc->getEnumType());
} else {
throw new \Exception("Cannot get enum type for non-enum field '" . $this->getName() . "'");
}
}
/**
* @return boolean
*/
public function isMap()
{
return $this->internal_desc->isMap();
}
}

View File

@ -1,217 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/field_mask.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* `FieldMask` represents a set of symbolic field paths, for example:
* paths: "f.a"
* paths: "f.b.d"
* Here `f` represents a field in some root message, `a` and `b`
* fields in the message found in `f`, and `d` a field found in the
* message in `f.b`.
* Field masks are used to specify a subset of fields that should be
* returned by a get operation or modified by an update operation.
* Field masks also have a custom JSON encoding (see below).
* # Field Masks in Projections
* When used in the context of a projection, a response message or
* sub-message is filtered by the API to only contain those fields as
* specified in the mask. For example, if the mask in the previous
* example is applied to a response message as follows:
* f {
* a : 22
* b {
* d : 1
* x : 2
* }
* y : 13
* }
* z: 8
* The result will not contain specific values for fields x,y and z
* (their value will be set to the default, and omitted in proto text
* output):
* f {
* a : 22
* b {
* d : 1
* }
* }
* A repeated field is not allowed except at the last position of a
* paths string.
* If a FieldMask object is not present in a get operation, the
* operation applies to all fields (as if a FieldMask of all fields
* had been specified).
* Note that a field mask does not necessarily apply to the
* top-level response message. In case of a REST get operation, the
* field mask applies directly to the response, but in case of a REST
* list operation, the mask instead applies to each individual message
* in the returned resource list. In case of a REST custom method,
* other definitions may be used. Where the mask applies will be
* clearly documented together with its declaration in the API. In
* any case, the effect on the returned resource/resources is required
* behavior for APIs.
* # Field Masks in Update Operations
* A field mask in update operations specifies which fields of the
* targeted resource are going to be updated. The API is required
* to only change the values of the fields as specified in the mask
* and leave the others untouched. If a resource is passed in to
* describe the updated values, the API ignores the values of all
* fields not covered by the mask.
* If a repeated field is specified for an update operation, new values will
* be appended to the existing repeated field in the target resource. Note that
* a repeated field is only allowed in the last position of a `paths` string.
* If a sub-message is specified in the last position of the field mask for an
* update operation, then new value will be merged into the existing sub-message
* in the target resource.
* For example, given the target message:
* f {
* b {
* d: 1
* x: 2
* }
* c: [1]
* }
* And an update message:
* f {
* b {
* d: 10
* }
* c: [2]
* }
* then if the field mask is:
* paths: ["f.b", "f.c"]
* then the result will be:
* f {
* b {
* d: 10
* x: 2
* }
* c: [1, 2]
* }
* An implementation may provide options to override this default behavior for
* repeated and message fields.
* In order to reset a field's value to the default, the field must
* be in the mask and set to the default value in the provided resource.
* Hence, in order to reset all fields of a resource, provide a default
* instance of the resource and set all fields in the mask, or do
* not provide a mask as described below.
* If a field mask is not present on update, the operation applies to
* all fields (as if a field mask of all fields has been specified).
* Note that in the presence of schema evolution, this may mean that
* fields the client does not know and has therefore not filled into
* the request will be reset to their default. If this is unwanted
* behavior, a specific service may require a client to always specify
* a field mask, producing an error if not.
* As with get operations, the location of the resource which
* describes the updated values in the request message depends on the
* operation kind. In any case, the effect of the field mask is
* required to be honored by the API.
* ## Considerations for HTTP REST
* The HTTP kind of an update operation which uses a field mask must
* be set to PATCH instead of PUT in order to satisfy HTTP semantics
* (PUT must only be used for full updates).
* # JSON Encoding of Field Masks
* In JSON, a field mask is encoded as a single string where paths are
* separated by a comma. Fields name in each path are converted
* to/from lower-camel naming conventions.
* As an example, consider the following message declarations:
* message Profile {
* User user = 1;
* Photo photo = 2;
* }
* message User {
* string display_name = 1;
* string address = 2;
* }
* In proto a field mask for `Profile` may look as such:
* mask {
* paths: "user.display_name"
* paths: "photo"
* }
* In JSON, the same mask is represented as below:
* {
* mask: "user.displayName,photo"
* }
* # Field Masks and Oneof Fields
* Field masks treat fields in oneofs just as regular fields. Consider the
* following message:
* message SampleMessage {
* oneof test_oneof {
* string name = 4;
* SubMessage sub_message = 9;
* }
* }
* The field mask can be:
* mask {
* paths: "name"
* }
* Or:
* mask {
* paths: "sub_message"
* }
* Note that oneof type names ("test_oneof" in this case) cannot be used in
* paths.
* ## Field Mask Verification
* The implementation of any API method which has a FieldMask type field in the
* request should verify the included field paths, and return an
* `INVALID_ARGUMENT` error if any path is unmappable.
*
* Generated from protobuf message <code>google.protobuf.FieldMask</code>
*/
class FieldMask extends \Google\Protobuf\Internal\Message
{
/**
* The set of field mask paths.
*
* Generated from protobuf field <code>repeated string paths = 1;</code>
*/
private $paths;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type array<string>|\Google\Protobuf\Internal\RepeatedField $paths
* The set of field mask paths.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\FieldMask::initOnce();
parent::__construct($data);
}
/**
* The set of field mask paths.
*
* Generated from protobuf field <code>repeated string paths = 1;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getPaths()
{
return $this->paths;
}
/**
* The set of field mask paths.
*
* Generated from protobuf field <code>repeated string paths = 1;</code>
* @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setPaths($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
$this->paths = $arr;
return $this;
}
}

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Field\Cardinality instead.
* @deprecated
*/
class Field_Cardinality {}
}
class_exists(Field\Cardinality::class);
@trigger_error('Google\Protobuf\Field_Cardinality is deprecated and will be removed in the next major release. Use Google\Protobuf\Field\Cardinality instead', E_USER_DEPRECATED);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/type.proto
namespace Google\Protobuf;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Field\Kind instead.
* @deprecated
*/
class Field_Kind {}
}
class_exists(Field\Kind::class);
@trigger_error('Google\Protobuf\Field_Kind is deprecated and will be removed in the next major release. Use Google\Protobuf\Field\Kind instead', E_USER_DEPRECATED);

View File

@ -1,68 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Wrapper message for `float`.
* The JSON representation for `FloatValue` is JSON number.
*
* Generated from protobuf message <code>google.protobuf.FloatValue</code>
*/
class FloatValue extends \Google\Protobuf\Internal\Message
{
/**
* The float value.
*
* Generated from protobuf field <code>float value = 1;</code>
*/
protected $value = 0.0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type float $value
* The float value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
parent::__construct($data);
}
/**
* The float value.
*
* Generated from protobuf field <code>float value = 1;</code>
* @return float
*/
public function getValue()
{
return $this->value;
}
/**
* The float value.
*
* Generated from protobuf field <code>float value = 1;</code>
* @param float $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkFloat($var);
$this->value = $var;
return $this;
}
}

View File

@ -1,38 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/empty.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* A generic empty message that you can re-use to avoid defining duplicated
* empty messages in your APIs. A typical example is to use it as the request
* or the response type of an API method. For instance:
* service Foo {
* rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
* }
*
* Generated from protobuf message <code>google.protobuf.Empty</code>
*/
class GPBEmpty extends \Google\Protobuf\Internal\Message
{
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\GPBEmpty::initOnce();
parent::__construct($data);
}
}

View File

@ -1,68 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Wrapper message for `int32`.
* The JSON representation for `Int32Value` is JSON number.
*
* Generated from protobuf message <code>google.protobuf.Int32Value</code>
*/
class Int32Value extends \Google\Protobuf\Internal\Message
{
/**
* The int32 value.
*
* Generated from protobuf field <code>int32 value = 1;</code>
*/
protected $value = 0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $value
* The int32 value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
parent::__construct($data);
}
/**
* The int32 value.
*
* Generated from protobuf field <code>int32 value = 1;</code>
* @return int
*/
public function getValue()
{
return $this->value;
}
/**
* The int32 value.
*
* Generated from protobuf field <code>int32 value = 1;</code>
* @param int $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkInt32($var);
$this->value = $var;
return $this;
}
}

View File

@ -1,68 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/wrappers.proto
namespace Google\Protobuf;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* Wrapper message for `int64`.
* The JSON representation for `Int64Value` is JSON string.
*
* Generated from protobuf message <code>google.protobuf.Int64Value</code>
*/
class Int64Value extends \Google\Protobuf\Internal\Message
{
/**
* The int64 value.
*
* Generated from protobuf field <code>int64 value = 1;</code>
*/
protected $value = 0;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int|string $value
* The int64 value.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Wrappers::initOnce();
parent::__construct($data);
}
/**
* The int64 value.
*
* Generated from protobuf field <code>int64 value = 1;</code>
* @return int|string
*/
public function getValue()
{
return $this->value;
}
/**
* The int64 value.
*
* Generated from protobuf field <code>int64 value = 1;</code>
* @param int|string $var
* @return $this
*/
public function setValue($var)
{
GPBUtil::checkInt64($var);
$this->value = $var;
return $this;
}
}

View File

@ -1,86 +0,0 @@
<?php
namespace Google\Protobuf\Internal;
/**
* Base class for Google\Protobuf\Any, this contains hand-written convenience
* methods like pack() and unpack().
*/
class AnyBase extends \Google\Protobuf\Internal\Message
{
const TYPE_URL_PREFIX = 'type.googleapis.com/';
/**
* This method will try to resolve the type_url in Any message to get the
* targeted message type. If failed, an error will be thrown. Otherwise,
* the method will create a message of the targeted type and fill it with
* the decoded value in Any.
* @return Message unpacked message
* @throws \Exception Type url needs to be type.googleapis.com/fully-qualified.
* @throws \Exception Class hasn't been added to descriptor pool.
* @throws \Exception cannot decode data in value field.
*/
public function unpack()
{
// Get fully qualified name from type url.
$url_prifix_len = strlen(GPBUtil::TYPE_URL_PREFIX);
if (substr($this->type_url, 0, $url_prifix_len) !=
GPBUtil::TYPE_URL_PREFIX) {
throw new \Exception(
"Type url needs to be type.googleapis.com/fully-qulified");
}
$fully_qualifed_name =
substr($this->type_url, $url_prifix_len);
// Create message according to fully qualified name.
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
$desc = $pool->getDescriptorByProtoName($fully_qualifed_name);
if (is_null($desc)) {
throw new \Exception("Class ".$fully_qualifed_name
." hasn't been added to descriptor pool");
}
$klass = $desc->getClass();
$msg = new $klass();
// Merge data into message.
$msg->mergeFromString($this->value);
return $msg;
}
/**
* The type_url will be created according to the given messages type and
* the value is encoded data from the given message..
* @param Message $msg A proto message.
*/
public function pack($msg)
{
if (!$msg instanceof Message) {
trigger_error("Given parameter is not a message instance.",
E_USER_ERROR);
return;
}
// Set value using serialized message.
$this->value = $msg->serializeToString();
// Set type url.
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
$desc = $pool->getDescriptorByClassName(get_class($msg));
$fully_qualifed_name = $desc->getFullName();
$this->type_url = GPBUtil::TYPE_URL_PREFIX . $fully_qualifed_name;
}
/**
* This method returns whether the type_url in any_message is corresponded
* to the given class.
* @param string $klass The fully qualified PHP class name of a proto message type.
*/
public function is($klass)
{
$pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
$desc = $pool->getDescriptorByClassName($klass);
$fully_qualifed_name = $desc->getFullName();
$type_url = GPBUtil::TYPE_URL_PREFIX . $fully_qualifed_name;
return $this->type_url === $type_url;
}
}

View File

@ -1,381 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\Uint64;
class CodedInputStream
{
private $buffer;
private $buffer_size_after_limit;
private $buffer_end;
private $current;
private $current_limit;
private $legitimate_message_end;
private $recursion_budget;
private $recursion_limit;
private $total_bytes_limit;
private $total_bytes_read;
const MAX_VARINT_BYTES = 10;
const DEFAULT_RECURSION_LIMIT = 100;
const DEFAULT_TOTAL_BYTES_LIMIT = 33554432; // 32 << 20, 32MB
public function __construct($buffer)
{
$start = 0;
$end = strlen($buffer);
$this->buffer = $buffer;
$this->buffer_size_after_limit = 0;
$this->buffer_end = $end;
$this->current = $start;
$this->current_limit = $end;
$this->legitimate_message_end = false;
$this->recursion_budget = self::DEFAULT_RECURSION_LIMIT;
$this->recursion_limit = self::DEFAULT_RECURSION_LIMIT;
$this->total_bytes_limit = self::DEFAULT_TOTAL_BYTES_LIMIT;
$this->total_bytes_read = $end - $start;
}
private function advance($amount)
{
$this->current += $amount;
}
public function bufferSize()
{
return $this->buffer_end - $this->current;
}
public function current()
{
return $this->total_bytes_read -
($this->buffer_end - $this->current +
$this->buffer_size_after_limit);
}
public function substr($start, $end)
{
return substr($this->buffer, $start, $end - $start);
}
private function recomputeBufferLimits()
{
$this->buffer_end += $this->buffer_size_after_limit;
$closest_limit = min($this->current_limit, $this->total_bytes_limit);
if ($closest_limit < $this->total_bytes_read) {
// The limit position is in the current buffer. We must adjust the
// buffer size accordingly.
$this->buffer_size_after_limit = $this->total_bytes_read -
$closest_limit;
$this->buffer_end -= $this->buffer_size_after_limit;
} else {
$this->buffer_size_after_limit = 0;
}
}
private function consumedEntireMessage()
{
return $this->legitimate_message_end;
}
/**
* Read uint32 into $var. Advance buffer with consumed bytes. If the
* contained varint is larger than 32 bits, discard the high order bits.
* @param $var
*/
public function readVarint32(&$var)
{
if (!$this->readVarint64($var)) {
return false;
}
if (PHP_INT_SIZE == 4) {
$var = bcmod($var, 4294967296);
} else {
$var &= 0xFFFFFFFF;
}
// Convert large uint32 to int32.
if ($var > 0x7FFFFFFF) {
if (PHP_INT_SIZE === 8) {
$var = $var | (0xFFFFFFFF << 32);
} else {
$var = bcsub($var, 4294967296);
}
}
$var = intval($var);
return true;
}
/**
* Read Uint64 into $var. Advance buffer with consumed bytes.
* @param $var
*/
public function readVarint64(&$var)
{
$count = 0;
if (PHP_INT_SIZE == 4) {
$high = 0;
$low = 0;
$b = 0;
do {
if ($this->current === $this->buffer_end) {
return false;
}
if ($count === self::MAX_VARINT_BYTES) {
return false;
}
$b = ord($this->buffer[$this->current]);
$bits = 7 * $count;
if ($bits >= 32) {
$high |= (($b & 0x7F) << ($bits - 32));
} else if ($bits > 25){
// $bits is 28 in this case.
$low |= (($b & 0x7F) << 28);
$high = ($b & 0x7F) >> 4;
} else {
$low |= (($b & 0x7F) << $bits);
}
$this->advance(1);
$count += 1;
} while ($b & 0x80);
$var = GPBUtil::combineInt32ToInt64($high, $low);
if (bccomp($var, 0) < 0) {
$var = bcadd($var, "18446744073709551616");
}
} else {
$result = 0;
$shift = 0;
do {
if ($this->current === $this->buffer_end) {
return false;
}
if ($count === self::MAX_VARINT_BYTES) {
return false;
}
$byte = ord($this->buffer[$this->current]);
$result |= ($byte & 0x7f) << $shift;
$shift += 7;
$this->advance(1);
$count += 1;
} while ($byte > 0x7f);
$var = $result;
}
return true;
}
/**
* Read int into $var. If the result is larger than the largest integer, $var
* will be -1. Advance buffer with consumed bytes.
* @param $var
*/
public function readVarintSizeAsInt(&$var)
{
if (!$this->readVarint64($var)) {
return false;
}
$var = (int)$var;
return true;
}
/**
* Read 32-bit unsigned integer to $var. If the buffer has less than 4 bytes,
* return false. Advance buffer with consumed bytes.
* @param $var
*/
public function readLittleEndian32(&$var)
{
$data = null;
if (!$this->readRaw(4, $data)) {
return false;
}
$var = unpack('V', $data);
$var = $var[1];
return true;
}
/**
* Read 64-bit unsigned integer to $var. If the buffer has less than 8 bytes,
* return false. Advance buffer with consumed bytes.
* @param $var
*/
public function readLittleEndian64(&$var)
{
$data = null;
if (!$this->readRaw(4, $data)) {
return false;
}
$low = unpack('V', $data)[1];
if (!$this->readRaw(4, $data)) {
return false;
}
$high = unpack('V', $data)[1];
if (PHP_INT_SIZE == 4) {
$var = GPBUtil::combineInt32ToInt64($high, $low);
} else {
$var = ($high << 32) | $low;
}
return true;
}
/**
* Read tag into $var. Advance buffer with consumed bytes.
*/
public function readTag()
{
if ($this->current === $this->buffer_end) {
// Make sure that it failed due to EOF, not because we hit
// total_bytes_limit, which, unlike normal limits, is not a valid
// place to end a message.
$current_position = $this->total_bytes_read -
$this->buffer_size_after_limit;
if ($current_position >= $this->total_bytes_limit) {
// Hit total_bytes_limit_. But if we also hit the normal limit,
// we're still OK.
$this->legitimate_message_end =
($this->current_limit === $this->total_bytes_limit);
} else {
$this->legitimate_message_end = true;
}
return 0;
}
$result = 0;
// The largest tag is 2^29 - 1, which can be represented by int32.
$success = $this->readVarint32($result);
if ($success) {
return $result;
} else {
return 0;
}
}
public function readRaw($size, &$buffer)
{
$current_buffer_size = 0;
if ($this->bufferSize() < $size) {
return false;
}
if ($size === 0) {
$buffer = "";
} else {
$buffer = substr($this->buffer, $this->current, $size);
$this->advance($size);
}
return true;
}
/* Places a limit on the number of bytes that the stream may read, starting
* from the current position. Once the stream hits this limit, it will act
* like the end of the input has been reached until popLimit() is called.
*
* As the names imply, the stream conceptually has a stack of limits. The
* shortest limit on the stack is always enforced, even if it is not the top
* limit.
*
* The value returned by pushLimit() is opaque to the caller, and must be
* passed unchanged to the corresponding call to popLimit().
*
* @param integer $byte_limit
* @throws \Exception Fail to push limit.
*/
public function pushLimit($byte_limit)
{
// Current position relative to the beginning of the stream.
$current_position = $this->current();
$old_limit = $this->current_limit;
// security: byte_limit is possibly evil, so check for negative values
// and overflow.
if ($byte_limit >= 0 &&
$byte_limit <= PHP_INT_MAX - $current_position &&
$byte_limit <= $this->current_limit - $current_position) {
$this->current_limit = $current_position + $byte_limit;
$this->recomputeBufferLimits();
} else {
throw new GPBDecodeException("Fail to push limit.");
}
return $old_limit;
}
/* The limit passed in is actually the *old* limit, which we returned from
* PushLimit().
*
* @param integer $byte_limit
*/
public function popLimit($byte_limit)
{
$this->current_limit = $byte_limit;
$this->recomputeBufferLimits();
// We may no longer be at a legitimate message end. ReadTag() needs to
// be called again to find out.
$this->legitimate_message_end = false;
}
public function incrementRecursionDepthAndPushLimit(
$byte_limit, &$old_limit, &$recursion_budget)
{
$old_limit = $this->pushLimit($byte_limit);
$recursion_limit = --$this->recursion_limit;
}
public function decrementRecursionDepthAndPopLimit($byte_limit)
{
$result = $this->consumedEntireMessage();
$this->popLimit($byte_limit);
++$this->recursion_budget;
return $result;
}
public function bytesUntilLimit()
{
if ($this->current_limit === PHP_INT_MAX) {
return -1;
}
return $this->current_limit - $this->current;
}
}

View File

@ -1,159 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
class CodedOutputStream
{
private $buffer;
private $buffer_size;
private $current;
const MAX_VARINT64_BYTES = 10;
public function __construct($size)
{
$this->current = 0;
$this->buffer_size = $size;
$this->buffer = str_repeat(chr(0), $this->buffer_size);
}
public function getData()
{
return $this->buffer;
}
public function writeVarint32($value, $trim)
{
$bytes = str_repeat(chr(0), self::MAX_VARINT64_BYTES);
$size = self::writeVarintToArray($value, $bytes, $trim);
return $this->writeRaw($bytes, $size);
}
public function writeVarint64($value)
{
$bytes = str_repeat(chr(0), self::MAX_VARINT64_BYTES);
$size = self::writeVarintToArray($value, $bytes);
return $this->writeRaw($bytes, $size);
}
public function writeLittleEndian32($value)
{
$bytes = str_repeat(chr(0), 4);
$size = self::writeLittleEndian32ToArray($value, $bytes);
return $this->writeRaw($bytes, $size);
}
public function writeLittleEndian64($value)
{
$bytes = str_repeat(chr(0), 8);
$size = self::writeLittleEndian64ToArray($value, $bytes);
return $this->writeRaw($bytes, $size);
}
public function writeTag($tag)
{
return $this->writeVarint32($tag, true);
}
public function writeRaw($data, $size)
{
if ($this->buffer_size < $size) {
trigger_error("Output stream doesn't have enough buffer.");
return false;
}
for ($i = 0; $i < $size; $i++) {
$this->buffer[$this->current] = $data[$i];
$this->current++;
$this->buffer_size--;
}
return true;
}
public static function writeVarintToArray($value, &$buffer, $trim = false)
{
$current = 0;
$high = 0;
$low = 0;
if (PHP_INT_SIZE == 4) {
GPBUtil::divideInt64ToInt32($value, $high, $low, $trim);
} else {
$low = $value;
}
while (($low >= 0x80 || $low < 0) || $high != 0) {
$buffer[$current] = chr($low | 0x80);
$value = ($value >> 7) & ~(0x7F << ((PHP_INT_SIZE << 3) - 7));
$carry = ($high & 0x7F) << ((PHP_INT_SIZE << 3) - 7);
$high = ($high >> 7) & ~(0x7F << ((PHP_INT_SIZE << 3) - 7));
$low = (($low >> 7) & ~(0x7F << ((PHP_INT_SIZE << 3) - 7)) | $carry);
$current++;
}
$buffer[$current] = chr($low);
return $current + 1;
}
private static function writeLittleEndian32ToArray($value, &$buffer)
{
$buffer[0] = chr($value & 0x000000FF);
$buffer[1] = chr(($value >> 8) & 0x000000FF);
$buffer[2] = chr(($value >> 16) & 0x000000FF);
$buffer[3] = chr(($value >> 24) & 0x000000FF);
return 4;
}
private static function writeLittleEndian64ToArray($value, &$buffer)
{
$high = 0;
$low = 0;
if (PHP_INT_SIZE == 4) {
GPBUtil::divideInt64ToInt32($value, $high, $low);
} else {
$low = $value & 0xFFFFFFFF;
$high = ($value >> 32) & 0xFFFFFFFF;
}
$buffer[0] = chr($low & 0x000000FF);
$buffer[1] = chr(($low >> 8) & 0x000000FF);
$buffer[2] = chr(($low >> 16) & 0x000000FF);
$buffer[3] = chr(($low >> 24) & 0x000000FF);
$buffer[4] = chr($high & 0x000000FF);
$buffer[5] = chr(($high >> 8) & 0x000000FF);
$buffer[6] = chr(($high >> 16) & 0x000000FF);
$buffer[7] = chr(($high >> 24) & 0x000000FF);
return 8;
}
}

View File

@ -1,236 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
class Descriptor
{
use HasPublicDescriptorTrait;
private $full_name;
private $field = [];
private $json_to_field = [];
private $name_to_field = [];
private $index_to_field = [];
private $nested_type = [];
private $enum_type = [];
private $klass;
private $legacy_klass;
private $previous_klass;
private $options;
private $oneof_decl = [];
public function __construct()
{
$this->public_desc = new \Google\Protobuf\Descriptor($this);
}
public function addOneofDecl($oneof)
{
$this->oneof_decl[] = $oneof;
}
public function getOneofDecl()
{
return $this->oneof_decl;
}
public function setFullName($full_name)
{
$this->full_name = $full_name;
}
public function getFullName()
{
return $this->full_name;
}
public function addField($field)
{
$this->field[$field->getNumber()] = $field;
$this->json_to_field[$field->getJsonName()] = $field;
$this->name_to_field[$field->getName()] = $field;
$this->index_to_field[] = $field;
}
public function getField()
{
return $this->field;
}
public function addNestedType($desc)
{
$this->nested_type[] = $desc;
}
public function getNestedType()
{
return $this->nested_type;
}
public function addEnumType($desc)
{
$this->enum_type[] = $desc;
}
public function getEnumType()
{
return $this->enum_type;
}
public function getFieldByNumber($number)
{
if (!isset($this->field[$number])) {
return NULL;
} else {
return $this->field[$number];
}
}
public function getFieldByJsonName($json_name)
{
if (!isset($this->json_to_field[$json_name])) {
return NULL;
} else {
return $this->json_to_field[$json_name];
}
}
public function getFieldByName($name)
{
if (!isset($this->name_to_field[$name])) {
return NULL;
} else {
return $this->name_to_field[$name];
}
}
public function getFieldByIndex($index)
{
if (count($this->index_to_field) <= $index) {
return NULL;
} else {
return $this->index_to_field[$index];
}
}
public function setClass($klass)
{
$this->klass = $klass;
}
public function getClass()
{
return $this->klass;
}
public function setLegacyClass($klass)
{
$this->legacy_klass = $klass;
}
public function getLegacyClass()
{
return $this->legacy_klass;
}
public function setPreviouslyUnreservedClass($klass)
{
$this->previous_klass = $klass;
}
public function getPreviouslyUnreservedClass()
{
return $this->previous_klass;
}
public function setOptions($options)
{
$this->options = $options;
}
public function getOptions()
{
return $this->options;
}
public static function buildFromProto($proto, $file_proto, $containing)
{
$desc = new Descriptor();
$message_name_without_package = "";
$classname = "";
$legacy_classname = "";
$previous_classname = "";
$fullname = "";
GPBUtil::getFullClassName(
$proto,
$containing,
$file_proto,
$message_name_without_package,
$classname,
$legacy_classname,
$fullname,
$previous_classname);
$desc->setFullName($fullname);
$desc->setClass($classname);
$desc->setLegacyClass($legacy_classname);
$desc->setPreviouslyUnreservedClass($previous_classname);
$desc->setOptions($proto->getOptions());
foreach ($proto->getField() as $field_proto) {
$desc->addField(FieldDescriptor::buildFromProto($field_proto));
}
// Handle nested types.
foreach ($proto->getNestedType() as $nested_proto) {
$desc->addNestedType(Descriptor::buildFromProto(
$nested_proto, $file_proto, $message_name_without_package));
}
// Handle nested enum.
foreach ($proto->getEnumType() as $enum_proto) {
$desc->addEnumType(EnumDescriptor::buildFromProto(
$enum_proto, $file_proto, $message_name_without_package));
}
// Handle oneof fields.
$index = 0;
foreach ($proto->getOneofDecl() as $oneof_proto) {
$desc->addOneofDecl(
OneofDescriptor::buildFromProto($oneof_proto, $desc, $index));
$index++;
}
return $desc;
}
}

View File

@ -1,194 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\Descriptor;
use Google\Protobuf\Internal\FileDescriptor;
use Google\Protobuf\Internal\FileDescriptorSet;
use Google\Protobuf\Internal\MessageBuilderContext;
use Google\Protobuf\Internal\EnumBuilderContext;
class DescriptorPool
{
private static $pool;
// Map from message names to sub-maps, which are maps from field numbers to
// field descriptors.
private $class_to_desc = [];
private $class_to_enum_desc = [];
private $proto_to_class = [];
public static function getGeneratedPool()
{
if (!isset(self::$pool)) {
self::$pool = new DescriptorPool();
}
return self::$pool;
}
public function internalAddGeneratedFile($data, $use_nested = false)
{
$files = new FileDescriptorSet();
$files->mergeFromString($data);
foreach($files->getFile() as $file_proto) {
$file = FileDescriptor::buildFromProto($file_proto);
foreach ($file->getMessageType() as $desc) {
$this->addDescriptor($desc);
}
unset($desc);
foreach ($file->getEnumType() as $desc) {
$this->addEnumDescriptor($desc);
}
unset($desc);
foreach ($file->getMessageType() as $desc) {
$this->crossLink($desc);
}
unset($desc);
}
}
public function addMessage($name, $klass)
{
return new MessageBuilderContext($name, $klass, $this);
}
public function addEnum($name, $klass)
{
return new EnumBuilderContext($name, $klass, $this);
}
public function addDescriptor($descriptor)
{
$this->proto_to_class[$descriptor->getFullName()] =
$descriptor->getClass();
$this->class_to_desc[$descriptor->getClass()] = $descriptor;
$this->class_to_desc[$descriptor->getLegacyClass()] = $descriptor;
$this->class_to_desc[$descriptor->getPreviouslyUnreservedClass()] = $descriptor;
foreach ($descriptor->getNestedType() as $nested_type) {
$this->addDescriptor($nested_type);
}
foreach ($descriptor->getEnumType() as $enum_type) {
$this->addEnumDescriptor($enum_type);
}
}
public function addEnumDescriptor($descriptor)
{
$this->proto_to_class[$descriptor->getFullName()] =
$descriptor->getClass();
$this->class_to_enum_desc[$descriptor->getClass()] = $descriptor;
$this->class_to_enum_desc[$descriptor->getLegacyClass()] = $descriptor;
}
public function getDescriptorByClassName($klass)
{
if (isset($this->class_to_desc[$klass])) {
return $this->class_to_desc[$klass];
} else {
return null;
}
}
public function getEnumDescriptorByClassName($klass)
{
if (isset($this->class_to_enum_desc[$klass])) {
return $this->class_to_enum_desc[$klass];
} else {
return null;
}
}
public function getDescriptorByProtoName($proto)
{
if (isset($this->proto_to_class[$proto])) {
$klass = $this->proto_to_class[$proto];
return $this->class_to_desc[$klass];
} else {
return null;
}
}
public function getEnumDescriptorByProtoName($proto)
{
$klass = $this->proto_to_class[$proto];
return $this->class_to_enum_desc[$klass];
}
private function crossLink(Descriptor $desc)
{
foreach ($desc->getField() as $field) {
switch ($field->getType()) {
case GPBType::MESSAGE:
$proto = $field->getMessageType();
if ($proto[0] == '.') {
$proto = substr($proto, 1);
}
$subdesc = $this->getDescriptorByProtoName($proto);
if (is_null($subdesc)) {
trigger_error(
'proto not added: ' . $proto
. " for " . $desc->getFullName(), E_USER_ERROR);
}
$field->setMessageType($subdesc);
break;
case GPBType::ENUM:
$proto = $field->getEnumType();
if ($proto[0] == '.') {
$proto = substr($proto, 1);
}
$field->setEnumType(
$this->getEnumDescriptorByProtoName($proto));
break;
default:
break;
}
}
unset($field);
foreach ($desc->getNestedType() as $nested_type) {
$this->crossLink($nested_type);
}
unset($nested_type);
}
public function finish()
{
foreach ($this->class_to_desc as $klass => $desc) {
$this->crossLink($desc);
}
unset($desc);
}
}

View File

@ -1,336 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Describes a message type.
*
* Generated from protobuf message <code>google.protobuf.DescriptorProto</code>
*/
class DescriptorProto extends \Google\Protobuf\Internal\Message
{
/**
* Generated from protobuf field <code>optional string name = 1;</code>
*/
protected $name = null;
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
*/
private $field;
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
*/
private $extension;
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
*/
private $nested_type;
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
*/
private $enum_type;
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
*/
private $extension_range;
/**
* Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
*/
private $oneof_decl;
/**
* Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
*/
protected $options = null;
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
*/
private $reserved_range;
/**
* Reserved field names, which may not be used by fields in the same message.
* A given name may only be reserved once.
*
* Generated from protobuf field <code>repeated string reserved_name = 10;</code>
*/
private $reserved_name;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* @type array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $field
* @type array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $extension
* @type array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $nested_type
* @type array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $enum_type
* @type array<\Google\Protobuf\Internal\DescriptorProto\ExtensionRange>|\Google\Protobuf\Internal\RepeatedField $extension_range
* @type array<\Google\Protobuf\Internal\OneofDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $oneof_decl
* @type \Google\Protobuf\Internal\MessageOptions $options
* @type array<\Google\Protobuf\Internal\DescriptorProto\ReservedRange>|\Google\Protobuf\Internal\RepeatedField $reserved_range
* @type array<string>|\Google\Protobuf\Internal\RepeatedField $reserved_name
* Reserved field names, which may not be used by fields in the same message.
* A given name may only be reserved once.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @return string
*/
public function getName()
{
return isset($this->name) ? $this->name : '';
}
public function hasName()
{
return isset($this->name);
}
public function clearName()
{
unset($this->name);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getField()
{
return $this->field;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
* @param array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setField($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldDescriptorProto::class);
$this->field = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getExtension()
{
return $this->extension;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
* @param array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setExtension($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldDescriptorProto::class);
$this->extension = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getNestedType()
{
return $this->nested_type;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
* @param array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setNestedType($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto::class);
$this->nested_type = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getEnumType()
{
return $this->enum_type;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
* @param array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setEnumType($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumDescriptorProto::class);
$this->enum_type = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getExtensionRange()
{
return $this->extension_range;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
* @param array<\Google\Protobuf\Internal\DescriptorProto\ExtensionRange>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setExtensionRange($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto\ExtensionRange::class);
$this->extension_range = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getOneofDecl()
{
return $this->oneof_decl;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
* @param array<\Google\Protobuf\Internal\OneofDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setOneofDecl($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\OneofDescriptorProto::class);
$this->oneof_decl = $arr;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
* @return \Google\Protobuf\Internal\MessageOptions|null
*/
public function getOptions()
{
return $this->options;
}
public function hasOptions()
{
return isset($this->options);
}
public function clearOptions()
{
unset($this->options);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
* @param \Google\Protobuf\Internal\MessageOptions $var
* @return $this
*/
public function setOptions($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\MessageOptions::class);
$this->options = $var;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getReservedRange()
{
return $this->reserved_range;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
* @param array<\Google\Protobuf\Internal\DescriptorProto\ReservedRange>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setReservedRange($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto\ReservedRange::class);
$this->reserved_range = $arr;
return $this;
}
/**
* Reserved field names, which may not be used by fields in the same message.
* A given name may only be reserved once.
*
* Generated from protobuf field <code>repeated string reserved_name = 10;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getReservedName()
{
return $this->reserved_name;
}
/**
* Reserved field names, which may not be used by fields in the same message.
* A given name may only be reserved once.
*
* Generated from protobuf field <code>repeated string reserved_name = 10;</code>
* @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setReservedName($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
$this->reserved_name = $arr;
return $this;
}
}

View File

@ -1,161 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\DescriptorProto;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>google.protobuf.DescriptorProto.ExtensionRange</code>
*/
class ExtensionRange extends \Google\Protobuf\Internal\Message
{
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
*/
protected $start = null;
/**
* Exclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
*/
protected $end = null;
/**
* Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions options = 3;</code>
*/
protected $options = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $start
* Inclusive.
* @type int $end
* Exclusive.
* @type \Google\Protobuf\Internal\ExtensionRangeOptions $options
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
* @return int
*/
public function getStart()
{
return isset($this->start) ? $this->start : 0;
}
public function hasStart()
{
return isset($this->start);
}
public function clearStart()
{
unset($this->start);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
* @param int $var
* @return $this
*/
public function setStart($var)
{
GPBUtil::checkInt32($var);
$this->start = $var;
return $this;
}
/**
* Exclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
* @return int
*/
public function getEnd()
{
return isset($this->end) ? $this->end : 0;
}
public function hasEnd()
{
return isset($this->end);
}
public function clearEnd()
{
unset($this->end);
}
/**
* Exclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
* @param int $var
* @return $this
*/
public function setEnd($var)
{
GPBUtil::checkInt32($var);
$this->end = $var;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions options = 3;</code>
* @return \Google\Protobuf\Internal\ExtensionRangeOptions|null
*/
public function getOptions()
{
return $this->options;
}
public function hasOptions()
{
return isset($this->options);
}
public function clearOptions()
{
unset($this->options);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.ExtensionRangeOptions options = 3;</code>
* @param \Google\Protobuf\Internal\ExtensionRangeOptions $var
* @return $this
*/
public function setOptions($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\ExtensionRangeOptions::class);
$this->options = $var;
return $this;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(ExtensionRange::class, \Google\Protobuf\Internal\DescriptorProto_ExtensionRange::class);

View File

@ -1,128 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\DescriptorProto;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Range of reserved tag numbers. Reserved tag numbers may not be used by
* fields or extension ranges in the same message. Reserved ranges may
* not overlap.
*
* Generated from protobuf message <code>google.protobuf.DescriptorProto.ReservedRange</code>
*/
class ReservedRange extends \Google\Protobuf\Internal\Message
{
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
*/
protected $start = null;
/**
* Exclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
*/
protected $end = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $start
* Inclusive.
* @type int $end
* Exclusive.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
* @return int
*/
public function getStart()
{
return isset($this->start) ? $this->start : 0;
}
public function hasStart()
{
return isset($this->start);
}
public function clearStart()
{
unset($this->start);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
* @param int $var
* @return $this
*/
public function setStart($var)
{
GPBUtil::checkInt32($var);
$this->start = $var;
return $this;
}
/**
* Exclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
* @return int
*/
public function getEnd()
{
return isset($this->end) ? $this->end : 0;
}
public function hasEnd()
{
return isset($this->end);
}
public function clearEnd()
{
unset($this->end);
}
/**
* Exclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
* @param int $var
* @return $this
*/
public function setEnd($var)
{
GPBUtil::checkInt32($var);
$this->end = $var;
return $this;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(ReservedRange::class, \Google\Protobuf\Internal\DescriptorProto_ReservedRange::class);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\DescriptorProto\ExtensionRange instead.
* @deprecated
*/
class DescriptorProto_ExtensionRange {}
}
class_exists(DescriptorProto\ExtensionRange::class);
@trigger_error('Google\Protobuf\Internal\DescriptorProto_ExtensionRange is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\DescriptorProto\ExtensionRange instead', E_USER_DEPRECATED);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\DescriptorProto\ReservedRange instead.
* @deprecated
*/
class DescriptorProto_ReservedRange {}
}
class_exists(DescriptorProto\ReservedRange::class);
@trigger_error('Google\Protobuf\Internal\DescriptorProto_ReservedRange is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\DescriptorProto\ReservedRange instead', E_USER_DEPRECATED);

View File

@ -1,63 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\EnumDescriptor;
use Google\Protobuf\EnumValueDescriptor;
class EnumBuilderContext
{
private $descriptor;
private $pool;
public function __construct($full_name, $klass, $pool)
{
$this->descriptor = new EnumDescriptor();
$this->descriptor->setFullName($full_name);
$this->descriptor->setClass($klass);
$this->pool = $pool;
}
public function value($name, $number)
{
$value = new EnumValueDescriptor($name, $number);
$this->descriptor->addValue($number, $value);
return $this;
}
public function finalizeToPool()
{
$this->pool->addEnumDescriptor($this->descriptor);
}
}

View File

@ -1,116 +0,0 @@
<?php
namespace Google\Protobuf\Internal;
use Google\Protobuf\EnumValueDescriptor;
class EnumDescriptor
{
use HasPublicDescriptorTrait;
private $klass;
private $legacy_klass;
private $full_name;
private $value;
private $name_to_value;
private $value_descriptor = [];
public function __construct()
{
$this->public_desc = new \Google\Protobuf\EnumDescriptor($this);
}
public function setFullName($full_name)
{
$this->full_name = $full_name;
}
public function getFullName()
{
return $this->full_name;
}
public function addValue($number, $value)
{
$this->value[$number] = $value;
$this->name_to_value[$value->getName()] = $value;
$this->value_descriptor[] = new EnumValueDescriptor($value->getName(), $number);
}
public function getValueByNumber($number)
{
if (isset($this->value[$number])) {
return $this->value[$number];
}
return null;
}
public function getValueByName($name)
{
if (isset($this->name_to_value[$name])) {
return $this->name_to_value[$name];
}
return null;
}
public function getValueDescriptorByIndex($index)
{
if (isset($this->value_descriptor[$index])) {
return $this->value_descriptor[$index];
}
return null;
}
public function getValueCount()
{
return count($this->value);
}
public function setClass($klass)
{
$this->klass = $klass;
}
public function getClass()
{
return $this->klass;
}
public function setLegacyClass($klass)
{
$this->legacy_klass = $klass;
}
public function getLegacyClass()
{
return $this->legacy_klass;
}
public static function buildFromProto($proto, $file_proto, $containing)
{
$desc = new EnumDescriptor();
$enum_name_without_package = "";
$classname = "";
$legacy_classname = "";
$fullname = "";
GPBUtil::getFullClassName(
$proto,
$containing,
$file_proto,
$enum_name_without_package,
$classname,
$legacy_classname,
$fullname,
$unused_previous_classname);
$desc->setFullName($fullname);
$desc->setClass($classname);
$desc->setLegacyClass($legacy_classname);
$values = $proto->getValue();
foreach ($values as $value) {
$desc->addValue($value->getNumber(), $value);
}
return $desc;
}
}

View File

@ -1,216 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Describes an enum type.
*
* Generated from protobuf message <code>google.protobuf.EnumDescriptorProto</code>
*/
class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
{
/**
* Generated from protobuf field <code>optional string name = 1;</code>
*/
protected $name = null;
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
*/
private $value;
/**
* Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
*/
protected $options = null;
/**
* Range of reserved numeric values. Reserved numeric values may not be used
* by enum values in the same enum declaration. Reserved ranges may not
* overlap.
*
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;</code>
*/
private $reserved_range;
/**
* Reserved enum value names, which may not be reused. A given name may only
* be reserved once.
*
* Generated from protobuf field <code>repeated string reserved_name = 5;</code>
*/
private $reserved_name;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* @type array<\Google\Protobuf\Internal\EnumValueDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $value
* @type \Google\Protobuf\Internal\EnumOptions $options
* @type array<\Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange>|\Google\Protobuf\Internal\RepeatedField $reserved_range
* Range of reserved numeric values. Reserved numeric values may not be used
* by enum values in the same enum declaration. Reserved ranges may not
* overlap.
* @type array<string>|\Google\Protobuf\Internal\RepeatedField $reserved_name
* Reserved enum value names, which may not be reused. A given name may only
* be reserved once.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @return string
*/
public function getName()
{
return isset($this->name) ? $this->name : '';
}
public function hasName()
{
return isset($this->name);
}
public function clearName()
{
unset($this->name);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getValue()
{
return $this->value;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
* @param array<\Google\Protobuf\Internal\EnumValueDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setValue($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumValueDescriptorProto::class);
$this->value = $arr;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
* @return \Google\Protobuf\Internal\EnumOptions|null
*/
public function getOptions()
{
return $this->options;
}
public function hasOptions()
{
return isset($this->options);
}
public function clearOptions()
{
unset($this->options);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
* @param \Google\Protobuf\Internal\EnumOptions $var
* @return $this
*/
public function setOptions($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\EnumOptions::class);
$this->options = $var;
return $this;
}
/**
* Range of reserved numeric values. Reserved numeric values may not be used
* by enum values in the same enum declaration. Reserved ranges may not
* overlap.
*
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getReservedRange()
{
return $this->reserved_range;
}
/**
* Range of reserved numeric values. Reserved numeric values may not be used
* by enum values in the same enum declaration. Reserved ranges may not
* overlap.
*
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;</code>
* @param array<\Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setReservedRange($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange::class);
$this->reserved_range = $arr;
return $this;
}
/**
* Reserved enum value names, which may not be reused. A given name may only
* be reserved once.
*
* Generated from protobuf field <code>repeated string reserved_name = 5;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getReservedName()
{
return $this->reserved_name;
}
/**
* Reserved enum value names, which may not be reused. A given name may only
* be reserved once.
*
* Generated from protobuf field <code>repeated string reserved_name = 5;</code>
* @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setReservedName($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
$this->reserved_name = $arr;
return $this;
}
}

View File

@ -1,130 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\EnumDescriptorProto;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Range of reserved numeric values. Reserved values may not be used by
* entries in the same enum. Reserved ranges may not overlap.
* Note that this is distinct from DescriptorProto.ReservedRange in that it
* is inclusive such that it can appropriately represent the entire int32
* domain.
*
* Generated from protobuf message <code>google.protobuf.EnumDescriptorProto.EnumReservedRange</code>
*/
class EnumReservedRange extends \Google\Protobuf\Internal\Message
{
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
*/
protected $start = null;
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
*/
protected $end = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $start
* Inclusive.
* @type int $end
* Inclusive.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
* @return int
*/
public function getStart()
{
return isset($this->start) ? $this->start : 0;
}
public function hasStart()
{
return isset($this->start);
}
public function clearStart()
{
unset($this->start);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 start = 1;</code>
* @param int $var
* @return $this
*/
public function setStart($var)
{
GPBUtil::checkInt32($var);
$this->start = $var;
return $this;
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
* @return int
*/
public function getEnd()
{
return isset($this->end) ? $this->end : 0;
}
public function hasEnd()
{
return isset($this->end);
}
public function clearEnd()
{
unset($this->end);
}
/**
* Inclusive.
*
* Generated from protobuf field <code>optional int32 end = 2;</code>
* @param int $var
* @return $this
*/
public function setEnd($var)
{
GPBUtil::checkInt32($var);
$this->end = $var;
return $this;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(EnumReservedRange::class, \Google\Protobuf\Internal\EnumDescriptorProto_EnumReservedRange::class);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange instead.
* @deprecated
*/
class EnumDescriptorProto_EnumReservedRange {}
}
class_exists(EnumDescriptorProto\EnumReservedRange::class);
@trigger_error('Google\Protobuf\Internal\EnumDescriptorProto_EnumReservedRange is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\EnumDescriptorProto\EnumReservedRange instead', E_USER_DEPRECATED);

View File

@ -1,242 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>google.protobuf.EnumOptions</code>
*/
class EnumOptions extends \Google\Protobuf\Internal\Message
{
/**
* Set this option to true to allow mapping different tag names to the same
* value.
*
* Generated from protobuf field <code>optional bool allow_alias = 2;</code>
*/
protected $allow_alias = null;
/**
* Is this enum deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum, or it will be completely ignored; in the very least, this
* is a formalization for deprecating enums.
*
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
*/
protected $deprecated = null;
/**
* Enable the legacy handling of JSON field name conflicts. This lowercases
* and strips underscored from the fields before comparison in proto3 only.
* The new behavior takes `json_name` into account and applies to proto2 as
* well.
* TODO(b/261750190) Remove this legacy behavior once downstream teams have
* had time to migrate.
*
* Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];</code>
* @deprecated
*/
protected $deprecated_legacy_json_field_conflicts = null;
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
*/
private $uninterpreted_option;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type bool $allow_alias
* Set this option to true to allow mapping different tag names to the same
* value.
* @type bool $deprecated
* Is this enum deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum, or it will be completely ignored; in the very least, this
* is a formalization for deprecating enums.
* @type bool $deprecated_legacy_json_field_conflicts
* Enable the legacy handling of JSON field name conflicts. This lowercases
* and strips underscored from the fields before comparison in proto3 only.
* The new behavior takes `json_name` into account and applies to proto2 as
* well.
* TODO(b/261750190) Remove this legacy behavior once downstream teams have
* had time to migrate.
* @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
* The parser stores options it doesn't recognize here. See above.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Set this option to true to allow mapping different tag names to the same
* value.
*
* Generated from protobuf field <code>optional bool allow_alias = 2;</code>
* @return bool
*/
public function getAllowAlias()
{
return isset($this->allow_alias) ? $this->allow_alias : false;
}
public function hasAllowAlias()
{
return isset($this->allow_alias);
}
public function clearAllowAlias()
{
unset($this->allow_alias);
}
/**
* Set this option to true to allow mapping different tag names to the same
* value.
*
* Generated from protobuf field <code>optional bool allow_alias = 2;</code>
* @param bool $var
* @return $this
*/
public function setAllowAlias($var)
{
GPBUtil::checkBool($var);
$this->allow_alias = $var;
return $this;
}
/**
* Is this enum deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum, or it will be completely ignored; in the very least, this
* is a formalization for deprecating enums.
*
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
* @return bool
*/
public function getDeprecated()
{
return isset($this->deprecated) ? $this->deprecated : false;
}
public function hasDeprecated()
{
return isset($this->deprecated);
}
public function clearDeprecated()
{
unset($this->deprecated);
}
/**
* Is this enum deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum, or it will be completely ignored; in the very least, this
* is a formalization for deprecating enums.
*
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
* @param bool $var
* @return $this
*/
public function setDeprecated($var)
{
GPBUtil::checkBool($var);
$this->deprecated = $var;
return $this;
}
/**
* Enable the legacy handling of JSON field name conflicts. This lowercases
* and strips underscored from the fields before comparison in proto3 only.
* The new behavior takes `json_name` into account and applies to proto2 as
* well.
* TODO(b/261750190) Remove this legacy behavior once downstream teams have
* had time to migrate.
*
* Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];</code>
* @return bool
* @deprecated
*/
public function getDeprecatedLegacyJsonFieldConflicts()
{
@trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
return isset($this->deprecated_legacy_json_field_conflicts) ? $this->deprecated_legacy_json_field_conflicts : false;
}
public function hasDeprecatedLegacyJsonFieldConflicts()
{
@trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
return isset($this->deprecated_legacy_json_field_conflicts);
}
public function clearDeprecatedLegacyJsonFieldConflicts()
{
@trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
unset($this->deprecated_legacy_json_field_conflicts);
}
/**
* Enable the legacy handling of JSON field name conflicts. This lowercases
* and strips underscored from the fields before comparison in proto3 only.
* The new behavior takes `json_name` into account and applies to proto2 as
* well.
* TODO(b/261750190) Remove this legacy behavior once downstream teams have
* had time to migrate.
*
* Generated from protobuf field <code>optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];</code>
* @param bool $var
* @return $this
* @deprecated
*/
public function setDeprecatedLegacyJsonFieldConflicts($var)
{
@trigger_error('deprecated_legacy_json_field_conflicts is deprecated.', E_USER_DEPRECATED);
GPBUtil::checkBool($var);
$this->deprecated_legacy_json_field_conflicts = $var;
return $this;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getUninterpretedOption()
{
return $this->uninterpreted_option;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setUninterpretedOption($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
$this->uninterpreted_option = $arr;
return $this;
}
}

View File

@ -1,146 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Describes a value within an enum.
*
* Generated from protobuf message <code>google.protobuf.EnumValueDescriptorProto</code>
*/
class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
{
/**
* Generated from protobuf field <code>optional string name = 1;</code>
*/
protected $name = null;
/**
* Generated from protobuf field <code>optional int32 number = 2;</code>
*/
protected $number = null;
/**
* Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
*/
protected $options = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* @type int $number
* @type \Google\Protobuf\Internal\EnumValueOptions $options
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @return string
*/
public function getName()
{
return isset($this->name) ? $this->name : '';
}
public function hasName()
{
return isset($this->name);
}
public function clearName()
{
unset($this->name);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Generated from protobuf field <code>optional int32 number = 2;</code>
* @return int
*/
public function getNumber()
{
return isset($this->number) ? $this->number : 0;
}
public function hasNumber()
{
return isset($this->number);
}
public function clearNumber()
{
unset($this->number);
}
/**
* Generated from protobuf field <code>optional int32 number = 2;</code>
* @param int $var
* @return $this
*/
public function setNumber($var)
{
GPBUtil::checkInt32($var);
$this->number = $var;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
* @return \Google\Protobuf\Internal\EnumValueOptions|null
*/
public function getOptions()
{
return $this->options;
}
public function hasOptions()
{
return isset($this->options);
}
public function clearOptions()
{
unset($this->options);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
* @param \Google\Protobuf\Internal\EnumValueOptions $var
* @return $this
*/
public function setOptions($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\EnumValueOptions::class);
$this->options = $var;
return $this;
}
}

View File

@ -1,123 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>google.protobuf.EnumValueOptions</code>
*/
class EnumValueOptions extends \Google\Protobuf\Internal\Message
{
/**
* Is this enum value deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum value, or it will be completely ignored; in the very least,
* this is a formalization for deprecating enum values.
*
* Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
*/
protected $deprecated = null;
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
*/
private $uninterpreted_option;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type bool $deprecated
* Is this enum value deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum value, or it will be completely ignored; in the very least,
* this is a formalization for deprecating enum values.
* @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
* The parser stores options it doesn't recognize here. See above.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Is this enum value deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum value, or it will be completely ignored; in the very least,
* this is a formalization for deprecating enum values.
*
* Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
* @return bool
*/
public function getDeprecated()
{
return isset($this->deprecated) ? $this->deprecated : false;
}
public function hasDeprecated()
{
return isset($this->deprecated);
}
public function clearDeprecated()
{
unset($this->deprecated);
}
/**
* Is this enum value deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for the enum value, or it will be completely ignored; in the very least,
* this is a formalization for deprecating enum values.
*
* Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
* @param bool $var
* @return $this
*/
public function setDeprecated($var)
{
GPBUtil::checkBool($var);
$this->deprecated = $var;
return $this;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getUninterpretedOption()
{
return $this->uninterpreted_option;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setUninterpretedOption($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
$this->uninterpreted_option = $arr;
return $this;
}
}

View File

@ -1,67 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>google.protobuf.ExtensionRangeOptions</code>
*/
class ExtensionRangeOptions extends \Google\Protobuf\Internal\Message
{
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
*/
private $uninterpreted_option;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
* The parser stores options it doesn't recognize here. See above.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getUninterpretedOption()
{
return $this->uninterpreted_option;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setUninterpretedOption($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
$this->uninterpreted_option = $arr;
return $this;
}
}

View File

@ -1,326 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
class FieldDescriptor
{
use HasPublicDescriptorTrait;
private $name;
private $json_name;
private $setter;
private $getter;
private $number;
private $label;
private $type;
private $message_type;
private $enum_type;
private $packed;
private $oneof_index = -1;
private $proto3_optional;
/** @var OneofDescriptor $containing_oneof */
private $containing_oneof;
public function __construct()
{
$this->public_desc = new \Google\Protobuf\FieldDescriptor($this);
}
public function setOneofIndex($index)
{
$this->oneof_index = $index;
}
public function getOneofIndex()
{
return $this->oneof_index;
}
public function setName($name)
{
$this->name = $name;
}
public function getName()
{
return $this->name;
}
public function setJsonName($json_name)
{
$this->json_name = $json_name;
}
public function getJsonName()
{
return $this->json_name;
}
public function setSetter($setter)
{
$this->setter = $setter;
}
public function getSetter()
{
return $this->setter;
}
public function setGetter($getter)
{
$this->getter = $getter;
}
public function getGetter()
{
return $this->getter;
}
public function setNumber($number)
{
$this->number = $number;
}
public function getNumber()
{
return $this->number;
}
public function setLabel($label)
{
$this->label = $label;
}
public function getLabel()
{
return $this->label;
}
public function isRepeated()
{
return $this->label === GPBLabel::REPEATED;
}
public function setType($type)
{
$this->type = $type;
}
public function getType()
{
return $this->type;
}
public function setMessageType($message_type)
{
$this->message_type = $message_type;
}
public function getMessageType()
{
return $this->message_type;
}
public function setEnumType($enum_type)
{
$this->enum_type = $enum_type;
}
public function getEnumType()
{
return $this->enum_type;
}
public function setPacked($packed)
{
$this->packed = $packed;
}
public function getPacked()
{
return $this->packed;
}
public function getProto3Optional()
{
return $this->proto3_optional;
}
public function setProto3Optional($proto3_optional)
{
$this->proto3_optional = $proto3_optional;
}
public function getContainingOneof()
{
return $this->containing_oneof;
}
public function setContainingOneof($containing_oneof)
{
$this->containing_oneof = $containing_oneof;
}
public function getRealContainingOneof()
{
return !is_null($this->containing_oneof) && !$this->containing_oneof->isSynthetic()
? $this->containing_oneof : null;
}
public function isPackable()
{
return $this->isRepeated() && self::isTypePackable($this->type);
}
public function isMap()
{
return $this->getType() == GPBType::MESSAGE &&
!is_null($this->getMessageType()->getOptions()) &&
$this->getMessageType()->getOptions()->getMapEntry();
}
public function isTimestamp()
{
return $this->getType() == GPBType::MESSAGE &&
$this->getMessageType()->getClass() === "Google\Protobuf\Timestamp";
}
public function isWrapperType()
{
if ($this->getType() == GPBType::MESSAGE) {
$class = $this->getMessageType()->getClass();
return in_array($class, [
"Google\Protobuf\DoubleValue",
"Google\Protobuf\FloatValue",
"Google\Protobuf\Int64Value",
"Google\Protobuf\UInt64Value",
"Google\Protobuf\Int32Value",
"Google\Protobuf\UInt32Value",
"Google\Protobuf\BoolValue",
"Google\Protobuf\StringValue",
"Google\Protobuf\BytesValue",
]);
}
return false;
}
private static function isTypePackable($field_type)
{
return ($field_type !== GPBType::STRING &&
$field_type !== GPBType::GROUP &&
$field_type !== GPBType::MESSAGE &&
$field_type !== GPBType::BYTES);
}
/**
* @param FieldDescriptorProto $proto
* @return FieldDescriptor
*/
public static function getFieldDescriptor($proto)
{
$type_name = null;
$type = $proto->getType();
switch ($type) {
case GPBType::MESSAGE:
case GPBType::GROUP:
case GPBType::ENUM:
$type_name = $proto->getTypeName();
break;
default:
break;
}
$oneof_index = $proto->hasOneofIndex() ? $proto->getOneofIndex() : -1;
// TODO: once proto2 is supported, this default should be false
// for proto2.
if ($proto->getLabel() === GPBLabel::REPEATED &&
$proto->getType() !== GPBType::MESSAGE &&
$proto->getType() !== GPBType::GROUP &&
$proto->getType() !== GPBType::STRING &&
$proto->getType() !== GPBType::BYTES) {
$packed = true;
} else {
$packed = false;
}
$options = $proto->getOptions();
if ($options !== null) {
$packed = $options->getPacked();
}
$field = new FieldDescriptor();
$field->setName($proto->getName());
if ($proto->hasJsonName()) {
$json_name = $proto->getJsonName();
} else {
$proto_name = $proto->getName();
$json_name = implode('', array_map('ucwords', explode('_', $proto_name)));
if ($proto_name[0] !== "_" && !ctype_upper($proto_name[0])) {
$json_name = lcfirst($json_name);
}
}
$field->setJsonName($json_name);
$camel_name = implode('', array_map('ucwords', explode('_', $proto->getName())));
$field->setGetter('get' . $camel_name);
$field->setSetter('set' . $camel_name);
$field->setType($proto->getType());
$field->setNumber($proto->getNumber());
$field->setLabel($proto->getLabel());
$field->setPacked($packed);
$field->setOneofIndex($oneof_index);
$field->setProto3Optional($proto->getProto3Optional());
// At this time, the message/enum type may have not been added to pool.
// So we use the type name as place holder and will replace it with the
// actual descriptor in cross building.
switch ($type) {
case GPBType::MESSAGE:
$field->setMessageType($type_name);
break;
case GPBType::ENUM:
$field->setEnumType($type_name);
break;
default:
break;
}
return $field;
}
public static function buildFromProto($proto)
{
return FieldDescriptor::getFieldDescriptor($proto);
}
}

View File

@ -1,611 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Describes a field within a message.
*
* Generated from protobuf message <code>google.protobuf.FieldDescriptorProto</code>
*/
class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
{
/**
* Generated from protobuf field <code>optional string name = 1;</code>
*/
protected $name = null;
/**
* Generated from protobuf field <code>optional int32 number = 3;</code>
*/
protected $number = null;
/**
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
*/
protected $label = null;
/**
* If type_name is set, this need not be set. If both this and type_name
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
*
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
*/
protected $type = null;
/**
* For message and enum types, this is the name of the type. If the name
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
* rules are used to find the type (i.e. first the nested types within this
* message are searched, then within the parent, on up to the root
* namespace).
*
* Generated from protobuf field <code>optional string type_name = 6;</code>
*/
protected $type_name = null;
/**
* For extensions, this is the name of the type being extended. It is
* resolved in the same manner as type_name.
*
* Generated from protobuf field <code>optional string extendee = 2;</code>
*/
protected $extendee = null;
/**
* For numeric types, contains the original text representation of the value.
* For booleans, "true" or "false".
* For strings, contains the default text contents (not escaped in any way).
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
*
* Generated from protobuf field <code>optional string default_value = 7;</code>
*/
protected $default_value = null;
/**
* If set, gives the index of a oneof in the containing type's oneof_decl
* list. This field is a member of that oneof.
*
* Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
*/
protected $oneof_index = null;
/**
* JSON name of this field. The value is set by protocol compiler. If the
* user has set a "json_name" option on this field, that option's value
* will be used. Otherwise, it's deduced from the field's name by converting
* it to camelCase.
*
* Generated from protobuf field <code>optional string json_name = 10;</code>
*/
protected $json_name = null;
/**
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
*/
protected $options = null;
/**
* If true, this is a proto3 "optional". When a proto3 field is optional, it
* tracks presence regardless of field type.
* When proto3_optional is true, this field must be belong to a oneof to
* signal to old proto3 clients that presence is tracked for this field. This
* oneof is known as a "synthetic" oneof, and this field must be its sole
* member (each proto3 optional field gets its own synthetic oneof). Synthetic
* oneofs exist in the descriptor only, and do not generate any API. Synthetic
* oneofs must be ordered after all "real" oneofs.
* For message fields, proto3_optional doesn't create any semantic change,
* since non-repeated message fields always track presence. However it still
* indicates the semantic detail of whether the user wrote "optional" or not.
* This can be useful for round-tripping the .proto file. For consistency we
* give message fields a synthetic oneof also, even though it is not required
* to track presence. This is especially important because the parser can't
* tell if a field is a message or an enum, so it must always create a
* synthetic oneof.
* Proto2 optional fields do not set this flag, because they already indicate
* optional with `LABEL_OPTIONAL`.
*
* Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
*/
protected $proto3_optional = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* @type int $number
* @type int $label
* @type int $type
* If type_name is set, this need not be set. If both this and type_name
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
* @type string $type_name
* For message and enum types, this is the name of the type. If the name
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
* rules are used to find the type (i.e. first the nested types within this
* message are searched, then within the parent, on up to the root
* namespace).
* @type string $extendee
* For extensions, this is the name of the type being extended. It is
* resolved in the same manner as type_name.
* @type string $default_value
* For numeric types, contains the original text representation of the value.
* For booleans, "true" or "false".
* For strings, contains the default text contents (not escaped in any way).
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
* @type int $oneof_index
* If set, gives the index of a oneof in the containing type's oneof_decl
* list. This field is a member of that oneof.
* @type string $json_name
* JSON name of this field. The value is set by protocol compiler. If the
* user has set a "json_name" option on this field, that option's value
* will be used. Otherwise, it's deduced from the field's name by converting
* it to camelCase.
* @type \Google\Protobuf\Internal\FieldOptions $options
* @type bool $proto3_optional
* If true, this is a proto3 "optional". When a proto3 field is optional, it
* tracks presence regardless of field type.
* When proto3_optional is true, this field must be belong to a oneof to
* signal to old proto3 clients that presence is tracked for this field. This
* oneof is known as a "synthetic" oneof, and this field must be its sole
* member (each proto3 optional field gets its own synthetic oneof). Synthetic
* oneofs exist in the descriptor only, and do not generate any API. Synthetic
* oneofs must be ordered after all "real" oneofs.
* For message fields, proto3_optional doesn't create any semantic change,
* since non-repeated message fields always track presence. However it still
* indicates the semantic detail of whether the user wrote "optional" or not.
* This can be useful for round-tripping the .proto file. For consistency we
* give message fields a synthetic oneof also, even though it is not required
* to track presence. This is especially important because the parser can't
* tell if a field is a message or an enum, so it must always create a
* synthetic oneof.
* Proto2 optional fields do not set this flag, because they already indicate
* optional with `LABEL_OPTIONAL`.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @return string
*/
public function getName()
{
return isset($this->name) ? $this->name : '';
}
public function hasName()
{
return isset($this->name);
}
public function clearName()
{
unset($this->name);
}
/**
* Generated from protobuf field <code>optional string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* Generated from protobuf field <code>optional int32 number = 3;</code>
* @return int
*/
public function getNumber()
{
return isset($this->number) ? $this->number : 0;
}
public function hasNumber()
{
return isset($this->number);
}
public function clearNumber()
{
unset($this->number);
}
/**
* Generated from protobuf field <code>optional int32 number = 3;</code>
* @param int $var
* @return $this
*/
public function setNumber($var)
{
GPBUtil::checkInt32($var);
$this->number = $var;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
* @return int
*/
public function getLabel()
{
return isset($this->label) ? $this->label : 0;
}
public function hasLabel()
{
return isset($this->label);
}
public function clearLabel()
{
unset($this->label);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
* @param int $var
* @return $this
*/
public function setLabel($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldDescriptorProto\Label::class);
$this->label = $var;
return $this;
}
/**
* If type_name is set, this need not be set. If both this and type_name
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
*
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
* @return int
*/
public function getType()
{
return isset($this->type) ? $this->type : 0;
}
public function hasType()
{
return isset($this->type);
}
public function clearType()
{
unset($this->type);
}
/**
* If type_name is set, this need not be set. If both this and type_name
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
*
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
* @param int $var
* @return $this
*/
public function setType($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldDescriptorProto\Type::class);
$this->type = $var;
return $this;
}
/**
* For message and enum types, this is the name of the type. If the name
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
* rules are used to find the type (i.e. first the nested types within this
* message are searched, then within the parent, on up to the root
* namespace).
*
* Generated from protobuf field <code>optional string type_name = 6;</code>
* @return string
*/
public function getTypeName()
{
return isset($this->type_name) ? $this->type_name : '';
}
public function hasTypeName()
{
return isset($this->type_name);
}
public function clearTypeName()
{
unset($this->type_name);
}
/**
* For message and enum types, this is the name of the type. If the name
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
* rules are used to find the type (i.e. first the nested types within this
* message are searched, then within the parent, on up to the root
* namespace).
*
* Generated from protobuf field <code>optional string type_name = 6;</code>
* @param string $var
* @return $this
*/
public function setTypeName($var)
{
GPBUtil::checkString($var, True);
$this->type_name = $var;
return $this;
}
/**
* For extensions, this is the name of the type being extended. It is
* resolved in the same manner as type_name.
*
* Generated from protobuf field <code>optional string extendee = 2;</code>
* @return string
*/
public function getExtendee()
{
return isset($this->extendee) ? $this->extendee : '';
}
public function hasExtendee()
{
return isset($this->extendee);
}
public function clearExtendee()
{
unset($this->extendee);
}
/**
* For extensions, this is the name of the type being extended. It is
* resolved in the same manner as type_name.
*
* Generated from protobuf field <code>optional string extendee = 2;</code>
* @param string $var
* @return $this
*/
public function setExtendee($var)
{
GPBUtil::checkString($var, True);
$this->extendee = $var;
return $this;
}
/**
* For numeric types, contains the original text representation of the value.
* For booleans, "true" or "false".
* For strings, contains the default text contents (not escaped in any way).
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
*
* Generated from protobuf field <code>optional string default_value = 7;</code>
* @return string
*/
public function getDefaultValue()
{
return isset($this->default_value) ? $this->default_value : '';
}
public function hasDefaultValue()
{
return isset($this->default_value);
}
public function clearDefaultValue()
{
unset($this->default_value);
}
/**
* For numeric types, contains the original text representation of the value.
* For booleans, "true" or "false".
* For strings, contains the default text contents (not escaped in any way).
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
*
* Generated from protobuf field <code>optional string default_value = 7;</code>
* @param string $var
* @return $this
*/
public function setDefaultValue($var)
{
GPBUtil::checkString($var, True);
$this->default_value = $var;
return $this;
}
/**
* If set, gives the index of a oneof in the containing type's oneof_decl
* list. This field is a member of that oneof.
*
* Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
* @return int
*/
public function getOneofIndex()
{
return isset($this->oneof_index) ? $this->oneof_index : 0;
}
public function hasOneofIndex()
{
return isset($this->oneof_index);
}
public function clearOneofIndex()
{
unset($this->oneof_index);
}
/**
* If set, gives the index of a oneof in the containing type's oneof_decl
* list. This field is a member of that oneof.
*
* Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
* @param int $var
* @return $this
*/
public function setOneofIndex($var)
{
GPBUtil::checkInt32($var);
$this->oneof_index = $var;
return $this;
}
/**
* JSON name of this field. The value is set by protocol compiler. If the
* user has set a "json_name" option on this field, that option's value
* will be used. Otherwise, it's deduced from the field's name by converting
* it to camelCase.
*
* Generated from protobuf field <code>optional string json_name = 10;</code>
* @return string
*/
public function getJsonName()
{
return isset($this->json_name) ? $this->json_name : '';
}
public function hasJsonName()
{
return isset($this->json_name);
}
public function clearJsonName()
{
unset($this->json_name);
}
/**
* JSON name of this field. The value is set by protocol compiler. If the
* user has set a "json_name" option on this field, that option's value
* will be used. Otherwise, it's deduced from the field's name by converting
* it to camelCase.
*
* Generated from protobuf field <code>optional string json_name = 10;</code>
* @param string $var
* @return $this
*/
public function setJsonName($var)
{
GPBUtil::checkString($var, True);
$this->json_name = $var;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
* @return \Google\Protobuf\Internal\FieldOptions|null
*/
public function getOptions()
{
return $this->options;
}
public function hasOptions()
{
return isset($this->options);
}
public function clearOptions()
{
unset($this->options);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
* @param \Google\Protobuf\Internal\FieldOptions $var
* @return $this
*/
public function setOptions($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FieldOptions::class);
$this->options = $var;
return $this;
}
/**
* If true, this is a proto3 "optional". When a proto3 field is optional, it
* tracks presence regardless of field type.
* When proto3_optional is true, this field must be belong to a oneof to
* signal to old proto3 clients that presence is tracked for this field. This
* oneof is known as a "synthetic" oneof, and this field must be its sole
* member (each proto3 optional field gets its own synthetic oneof). Synthetic
* oneofs exist in the descriptor only, and do not generate any API. Synthetic
* oneofs must be ordered after all "real" oneofs.
* For message fields, proto3_optional doesn't create any semantic change,
* since non-repeated message fields always track presence. However it still
* indicates the semantic detail of whether the user wrote "optional" or not.
* This can be useful for round-tripping the .proto file. For consistency we
* give message fields a synthetic oneof also, even though it is not required
* to track presence. This is especially important because the parser can't
* tell if a field is a message or an enum, so it must always create a
* synthetic oneof.
* Proto2 optional fields do not set this flag, because they already indicate
* optional with `LABEL_OPTIONAL`.
*
* Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
* @return bool
*/
public function getProto3Optional()
{
return isset($this->proto3_optional) ? $this->proto3_optional : false;
}
public function hasProto3Optional()
{
return isset($this->proto3_optional);
}
public function clearProto3Optional()
{
unset($this->proto3_optional);
}
/**
* If true, this is a proto3 "optional". When a proto3 field is optional, it
* tracks presence regardless of field type.
* When proto3_optional is true, this field must be belong to a oneof to
* signal to old proto3 clients that presence is tracked for this field. This
* oneof is known as a "synthetic" oneof, and this field must be its sole
* member (each proto3 optional field gets its own synthetic oneof). Synthetic
* oneofs exist in the descriptor only, and do not generate any API. Synthetic
* oneofs must be ordered after all "real" oneofs.
* For message fields, proto3_optional doesn't create any semantic change,
* since non-repeated message fields always track presence. However it still
* indicates the semantic detail of whether the user wrote "optional" or not.
* This can be useful for round-tripping the .proto file. For consistency we
* give message fields a synthetic oneof also, even though it is not required
* to track presence. This is especially important because the parser can't
* tell if a field is a message or an enum, so it must always create a
* synthetic oneof.
* Proto2 optional fields do not set this flag, because they already indicate
* optional with `LABEL_OPTIONAL`.
*
* Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
* @param bool $var
* @return $this
*/
public function setProto3Optional($var)
{
GPBUtil::checkBool($var);
$this->proto3_optional = $var;
return $this;
}
}

View File

@ -1,58 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\FieldDescriptorProto;
use UnexpectedValueException;
/**
* Protobuf type <code>google.protobuf.FieldDescriptorProto.Label</code>
*/
class Label
{
/**
* 0 is reserved for errors
*
* Generated from protobuf enum <code>LABEL_OPTIONAL = 1;</code>
*/
const LABEL_OPTIONAL = 1;
/**
* Generated from protobuf enum <code>LABEL_REQUIRED = 2;</code>
*/
const LABEL_REQUIRED = 2;
/**
* Generated from protobuf enum <code>LABEL_REPEATED = 3;</code>
*/
const LABEL_REPEATED = 3;
private static $valueToName = [
self::LABEL_OPTIONAL => 'LABEL_OPTIONAL',
self::LABEL_REQUIRED => 'LABEL_REQUIRED',
self::LABEL_REPEATED => 'LABEL_REPEATED',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Label::class, \Google\Protobuf\Internal\FieldDescriptorProto_Label::class);

View File

@ -1,153 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\FieldDescriptorProto;
use UnexpectedValueException;
/**
* Protobuf type <code>google.protobuf.FieldDescriptorProto.Type</code>
*/
class Type
{
/**
* 0 is reserved for errors.
* Order is weird for historical reasons.
*
* Generated from protobuf enum <code>TYPE_DOUBLE = 1;</code>
*/
const TYPE_DOUBLE = 1;
/**
* Generated from protobuf enum <code>TYPE_FLOAT = 2;</code>
*/
const TYPE_FLOAT = 2;
/**
* Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
* negative values are likely.
*
* Generated from protobuf enum <code>TYPE_INT64 = 3;</code>
*/
const TYPE_INT64 = 3;
/**
* Generated from protobuf enum <code>TYPE_UINT64 = 4;</code>
*/
const TYPE_UINT64 = 4;
/**
* Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
* negative values are likely.
*
* Generated from protobuf enum <code>TYPE_INT32 = 5;</code>
*/
const TYPE_INT32 = 5;
/**
* Generated from protobuf enum <code>TYPE_FIXED64 = 6;</code>
*/
const TYPE_FIXED64 = 6;
/**
* Generated from protobuf enum <code>TYPE_FIXED32 = 7;</code>
*/
const TYPE_FIXED32 = 7;
/**
* Generated from protobuf enum <code>TYPE_BOOL = 8;</code>
*/
const TYPE_BOOL = 8;
/**
* Generated from protobuf enum <code>TYPE_STRING = 9;</code>
*/
const TYPE_STRING = 9;
/**
* Tag-delimited aggregate.
* Group type is deprecated and not supported in proto3. However, Proto3
* implementations should still be able to parse the group wire format and
* treat group fields as unknown fields.
*
* Generated from protobuf enum <code>TYPE_GROUP = 10;</code>
*/
const TYPE_GROUP = 10;
/**
* Length-delimited aggregate.
*
* Generated from protobuf enum <code>TYPE_MESSAGE = 11;</code>
*/
const TYPE_MESSAGE = 11;
/**
* New in version 2.
*
* Generated from protobuf enum <code>TYPE_BYTES = 12;</code>
*/
const TYPE_BYTES = 12;
/**
* Generated from protobuf enum <code>TYPE_UINT32 = 13;</code>
*/
const TYPE_UINT32 = 13;
/**
* Generated from protobuf enum <code>TYPE_ENUM = 14;</code>
*/
const TYPE_ENUM = 14;
/**
* Generated from protobuf enum <code>TYPE_SFIXED32 = 15;</code>
*/
const TYPE_SFIXED32 = 15;
/**
* Generated from protobuf enum <code>TYPE_SFIXED64 = 16;</code>
*/
const TYPE_SFIXED64 = 16;
/**
* Uses ZigZag encoding.
*
* Generated from protobuf enum <code>TYPE_SINT32 = 17;</code>
*/
const TYPE_SINT32 = 17;
/**
* Uses ZigZag encoding.
*
* Generated from protobuf enum <code>TYPE_SINT64 = 18;</code>
*/
const TYPE_SINT64 = 18;
private static $valueToName = [
self::TYPE_DOUBLE => 'TYPE_DOUBLE',
self::TYPE_FLOAT => 'TYPE_FLOAT',
self::TYPE_INT64 => 'TYPE_INT64',
self::TYPE_UINT64 => 'TYPE_UINT64',
self::TYPE_INT32 => 'TYPE_INT32',
self::TYPE_FIXED64 => 'TYPE_FIXED64',
self::TYPE_FIXED32 => 'TYPE_FIXED32',
self::TYPE_BOOL => 'TYPE_BOOL',
self::TYPE_STRING => 'TYPE_STRING',
self::TYPE_GROUP => 'TYPE_GROUP',
self::TYPE_MESSAGE => 'TYPE_MESSAGE',
self::TYPE_BYTES => 'TYPE_BYTES',
self::TYPE_UINT32 => 'TYPE_UINT32',
self::TYPE_ENUM => 'TYPE_ENUM',
self::TYPE_SFIXED32 => 'TYPE_SFIXED32',
self::TYPE_SFIXED64 => 'TYPE_SFIXED64',
self::TYPE_SINT32 => 'TYPE_SINT32',
self::TYPE_SINT64 => 'TYPE_SINT64',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Type::class, \Google\Protobuf\Internal\FieldDescriptorProto_Type::class);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\FieldDescriptorProto\Label instead.
* @deprecated
*/
class FieldDescriptorProto_Label {}
}
class_exists(FieldDescriptorProto\Label::class);
@trigger_error('Google\Protobuf\Internal\FieldDescriptorProto_Label is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\FieldDescriptorProto\Label instead', E_USER_DEPRECATED);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\FieldDescriptorProto\Type instead.
* @deprecated
*/
class FieldDescriptorProto_Type {}
}
class_exists(FieldDescriptorProto\Type::class);
@trigger_error('Google\Protobuf\Internal\FieldDescriptorProto_Type is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\FieldDescriptorProto\Type instead', E_USER_DEPRECATED);

View File

@ -1,559 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Generated from protobuf message <code>google.protobuf.FieldOptions</code>
*/
class FieldOptions extends \Google\Protobuf\Internal\Message
{
/**
* The ctype option instructs the C++ code generator to use a different
* representation of the field than it normally would. See the specific
* options below. This option is not yet implemented in the open source
* release -- sorry, we'll try to include it in a future version!
*
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
*/
protected $ctype = null;
/**
* The packed option can be enabled for repeated primitive fields to enable
* a more efficient representation on the wire. Rather than repeatedly
* writing the tag and type for each element, the entire array is encoded as
* a single length-delimited blob. In proto3, only explicit setting it to
* false will avoid using packed encoding.
*
* Generated from protobuf field <code>optional bool packed = 2;</code>
*/
protected $packed = null;
/**
* The jstype option determines the JavaScript type used for values of the
* field. The option is permitted only for 64 bit integral and fixed types
* (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
* is represented as JavaScript string, which avoids loss of precision that
* can happen when a large value is converted to a floating point JavaScript.
* Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
* use the JavaScript "number" type. The behavior of the default option
* JS_NORMAL is implementation dependent.
* This option is an enum to permit additional types to be added, e.g.
* goog.math.Integer.
*
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
*/
protected $jstype = null;
/**
* Should this field be parsed lazily? Lazy applies only to message-type
* fields. It means that when the outer message is initially parsed, the
* inner message's contents will not be parsed but instead stored in encoded
* form. The inner message will actually be parsed when it is first accessed.
* This is only a hint. Implementations are free to choose whether to use
* eager or lazy parsing regardless of the value of this option. However,
* setting this option true suggests that the protocol author believes that
* using lazy parsing on this field is worth the additional bookkeeping
* overhead typically needed to implement it.
* This option does not affect the public interface of any generated code;
* all method signatures remain the same. Furthermore, thread-safety of the
* interface is not affected by this option; const methods remain safe to
* call from multiple threads concurrently, while non-const methods continue
* to require exclusive access.
* Note that implementations may choose not to check required fields within
* a lazy sub-message. That is, calling IsInitialized() on the outer message
* may return true even if the inner message has missing required fields.
* This is necessary because otherwise the inner message would have to be
* parsed in order to perform the check, defeating the purpose of lazy
* parsing. An implementation which chooses not to check required fields
* must be consistent about it. That is, for any particular sub-message, the
* implementation must either *always* check its required fields, or *never*
* check its required fields, regardless of whether or not the message has
* been parsed.
* As of May 2022, lazy verifies the contents of the byte stream during
* parsing. An invalid byte stream will cause the overall parsing to fail.
*
* Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
*/
protected $lazy = null;
/**
* unverified_lazy does no correctness checks on the byte stream. This should
* only be used where lazy with verification is prohibitive for performance
* reasons.
*
* Generated from protobuf field <code>optional bool unverified_lazy = 15 [default = false];</code>
*/
protected $unverified_lazy = null;
/**
* Is this field deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for accessors, or it will be completely ignored; in the very least, this
* is a formalization for deprecating fields.
*
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
*/
protected $deprecated = null;
/**
* For Google-internal migration only. Do not use.
*
* Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
*/
protected $weak = null;
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
*/
private $uninterpreted_option;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type int $ctype
* The ctype option instructs the C++ code generator to use a different
* representation of the field than it normally would. See the specific
* options below. This option is not yet implemented in the open source
* release -- sorry, we'll try to include it in a future version!
* @type bool $packed
* The packed option can be enabled for repeated primitive fields to enable
* a more efficient representation on the wire. Rather than repeatedly
* writing the tag and type for each element, the entire array is encoded as
* a single length-delimited blob. In proto3, only explicit setting it to
* false will avoid using packed encoding.
* @type int $jstype
* The jstype option determines the JavaScript type used for values of the
* field. The option is permitted only for 64 bit integral and fixed types
* (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
* is represented as JavaScript string, which avoids loss of precision that
* can happen when a large value is converted to a floating point JavaScript.
* Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
* use the JavaScript "number" type. The behavior of the default option
* JS_NORMAL is implementation dependent.
* This option is an enum to permit additional types to be added, e.g.
* goog.math.Integer.
* @type bool $lazy
* Should this field be parsed lazily? Lazy applies only to message-type
* fields. It means that when the outer message is initially parsed, the
* inner message's contents will not be parsed but instead stored in encoded
* form. The inner message will actually be parsed when it is first accessed.
* This is only a hint. Implementations are free to choose whether to use
* eager or lazy parsing regardless of the value of this option. However,
* setting this option true suggests that the protocol author believes that
* using lazy parsing on this field is worth the additional bookkeeping
* overhead typically needed to implement it.
* This option does not affect the public interface of any generated code;
* all method signatures remain the same. Furthermore, thread-safety of the
* interface is not affected by this option; const methods remain safe to
* call from multiple threads concurrently, while non-const methods continue
* to require exclusive access.
* Note that implementations may choose not to check required fields within
* a lazy sub-message. That is, calling IsInitialized() on the outer message
* may return true even if the inner message has missing required fields.
* This is necessary because otherwise the inner message would have to be
* parsed in order to perform the check, defeating the purpose of lazy
* parsing. An implementation which chooses not to check required fields
* must be consistent about it. That is, for any particular sub-message, the
* implementation must either *always* check its required fields, or *never*
* check its required fields, regardless of whether or not the message has
* been parsed.
* As of May 2022, lazy verifies the contents of the byte stream during
* parsing. An invalid byte stream will cause the overall parsing to fail.
* @type bool $unverified_lazy
* unverified_lazy does no correctness checks on the byte stream. This should
* only be used where lazy with verification is prohibitive for performance
* reasons.
* @type bool $deprecated
* Is this field deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for accessors, or it will be completely ignored; in the very least, this
* is a formalization for deprecating fields.
* @type bool $weak
* For Google-internal migration only. Do not use.
* @type array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
* The parser stores options it doesn't recognize here. See above.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* The ctype option instructs the C++ code generator to use a different
* representation of the field than it normally would. See the specific
* options below. This option is not yet implemented in the open source
* release -- sorry, we'll try to include it in a future version!
*
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
* @return int
*/
public function getCtype()
{
return isset($this->ctype) ? $this->ctype : 0;
}
public function hasCtype()
{
return isset($this->ctype);
}
public function clearCtype()
{
unset($this->ctype);
}
/**
* The ctype option instructs the C++ code generator to use a different
* representation of the field than it normally would. See the specific
* options below. This option is not yet implemented in the open source
* release -- sorry, we'll try to include it in a future version!
*
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
* @param int $var
* @return $this
*/
public function setCtype($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldOptions\CType::class);
$this->ctype = $var;
return $this;
}
/**
* The packed option can be enabled for repeated primitive fields to enable
* a more efficient representation on the wire. Rather than repeatedly
* writing the tag and type for each element, the entire array is encoded as
* a single length-delimited blob. In proto3, only explicit setting it to
* false will avoid using packed encoding.
*
* Generated from protobuf field <code>optional bool packed = 2;</code>
* @return bool
*/
public function getPacked()
{
return isset($this->packed) ? $this->packed : false;
}
public function hasPacked()
{
return isset($this->packed);
}
public function clearPacked()
{
unset($this->packed);
}
/**
* The packed option can be enabled for repeated primitive fields to enable
* a more efficient representation on the wire. Rather than repeatedly
* writing the tag and type for each element, the entire array is encoded as
* a single length-delimited blob. In proto3, only explicit setting it to
* false will avoid using packed encoding.
*
* Generated from protobuf field <code>optional bool packed = 2;</code>
* @param bool $var
* @return $this
*/
public function setPacked($var)
{
GPBUtil::checkBool($var);
$this->packed = $var;
return $this;
}
/**
* The jstype option determines the JavaScript type used for values of the
* field. The option is permitted only for 64 bit integral and fixed types
* (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
* is represented as JavaScript string, which avoids loss of precision that
* can happen when a large value is converted to a floating point JavaScript.
* Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
* use the JavaScript "number" type. The behavior of the default option
* JS_NORMAL is implementation dependent.
* This option is an enum to permit additional types to be added, e.g.
* goog.math.Integer.
*
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
* @return int
*/
public function getJstype()
{
return isset($this->jstype) ? $this->jstype : 0;
}
public function hasJstype()
{
return isset($this->jstype);
}
public function clearJstype()
{
unset($this->jstype);
}
/**
* The jstype option determines the JavaScript type used for values of the
* field. The option is permitted only for 64 bit integral and fixed types
* (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
* is represented as JavaScript string, which avoids loss of precision that
* can happen when a large value is converted to a floating point JavaScript.
* Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
* use the JavaScript "number" type. The behavior of the default option
* JS_NORMAL is implementation dependent.
* This option is an enum to permit additional types to be added, e.g.
* goog.math.Integer.
*
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
* @param int $var
* @return $this
*/
public function setJstype($var)
{
GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldOptions\JSType::class);
$this->jstype = $var;
return $this;
}
/**
* Should this field be parsed lazily? Lazy applies only to message-type
* fields. It means that when the outer message is initially parsed, the
* inner message's contents will not be parsed but instead stored in encoded
* form. The inner message will actually be parsed when it is first accessed.
* This is only a hint. Implementations are free to choose whether to use
* eager or lazy parsing regardless of the value of this option. However,
* setting this option true suggests that the protocol author believes that
* using lazy parsing on this field is worth the additional bookkeeping
* overhead typically needed to implement it.
* This option does not affect the public interface of any generated code;
* all method signatures remain the same. Furthermore, thread-safety of the
* interface is not affected by this option; const methods remain safe to
* call from multiple threads concurrently, while non-const methods continue
* to require exclusive access.
* Note that implementations may choose not to check required fields within
* a lazy sub-message. That is, calling IsInitialized() on the outer message
* may return true even if the inner message has missing required fields.
* This is necessary because otherwise the inner message would have to be
* parsed in order to perform the check, defeating the purpose of lazy
* parsing. An implementation which chooses not to check required fields
* must be consistent about it. That is, for any particular sub-message, the
* implementation must either *always* check its required fields, or *never*
* check its required fields, regardless of whether or not the message has
* been parsed.
* As of May 2022, lazy verifies the contents of the byte stream during
* parsing. An invalid byte stream will cause the overall parsing to fail.
*
* Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
* @return bool
*/
public function getLazy()
{
return isset($this->lazy) ? $this->lazy : false;
}
public function hasLazy()
{
return isset($this->lazy);
}
public function clearLazy()
{
unset($this->lazy);
}
/**
* Should this field be parsed lazily? Lazy applies only to message-type
* fields. It means that when the outer message is initially parsed, the
* inner message's contents will not be parsed but instead stored in encoded
* form. The inner message will actually be parsed when it is first accessed.
* This is only a hint. Implementations are free to choose whether to use
* eager or lazy parsing regardless of the value of this option. However,
* setting this option true suggests that the protocol author believes that
* using lazy parsing on this field is worth the additional bookkeeping
* overhead typically needed to implement it.
* This option does not affect the public interface of any generated code;
* all method signatures remain the same. Furthermore, thread-safety of the
* interface is not affected by this option; const methods remain safe to
* call from multiple threads concurrently, while non-const methods continue
* to require exclusive access.
* Note that implementations may choose not to check required fields within
* a lazy sub-message. That is, calling IsInitialized() on the outer message
* may return true even if the inner message has missing required fields.
* This is necessary because otherwise the inner message would have to be
* parsed in order to perform the check, defeating the purpose of lazy
* parsing. An implementation which chooses not to check required fields
* must be consistent about it. That is, for any particular sub-message, the
* implementation must either *always* check its required fields, or *never*
* check its required fields, regardless of whether or not the message has
* been parsed.
* As of May 2022, lazy verifies the contents of the byte stream during
* parsing. An invalid byte stream will cause the overall parsing to fail.
*
* Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
* @param bool $var
* @return $this
*/
public function setLazy($var)
{
GPBUtil::checkBool($var);
$this->lazy = $var;
return $this;
}
/**
* unverified_lazy does no correctness checks on the byte stream. This should
* only be used where lazy with verification is prohibitive for performance
* reasons.
*
* Generated from protobuf field <code>optional bool unverified_lazy = 15 [default = false];</code>
* @return bool
*/
public function getUnverifiedLazy()
{
return isset($this->unverified_lazy) ? $this->unverified_lazy : false;
}
public function hasUnverifiedLazy()
{
return isset($this->unverified_lazy);
}
public function clearUnverifiedLazy()
{
unset($this->unverified_lazy);
}
/**
* unverified_lazy does no correctness checks on the byte stream. This should
* only be used where lazy with verification is prohibitive for performance
* reasons.
*
* Generated from protobuf field <code>optional bool unverified_lazy = 15 [default = false];</code>
* @param bool $var
* @return $this
*/
public function setUnverifiedLazy($var)
{
GPBUtil::checkBool($var);
$this->unverified_lazy = $var;
return $this;
}
/**
* Is this field deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for accessors, or it will be completely ignored; in the very least, this
* is a formalization for deprecating fields.
*
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
* @return bool
*/
public function getDeprecated()
{
return isset($this->deprecated) ? $this->deprecated : false;
}
public function hasDeprecated()
{
return isset($this->deprecated);
}
public function clearDeprecated()
{
unset($this->deprecated);
}
/**
* Is this field deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for accessors, or it will be completely ignored; in the very least, this
* is a formalization for deprecating fields.
*
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
* @param bool $var
* @return $this
*/
public function setDeprecated($var)
{
GPBUtil::checkBool($var);
$this->deprecated = $var;
return $this;
}
/**
* For Google-internal migration only. Do not use.
*
* Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
* @return bool
*/
public function getWeak()
{
return isset($this->weak) ? $this->weak : false;
}
public function hasWeak()
{
return isset($this->weak);
}
public function clearWeak()
{
unset($this->weak);
}
/**
* For Google-internal migration only. Do not use.
*
* Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
* @param bool $var
* @return $this
*/
public function setWeak($var)
{
GPBUtil::checkBool($var);
$this->weak = $var;
return $this;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getUninterpretedOption()
{
return $this->uninterpreted_option;
}
/**
* The parser stores options it doesn't recognize here. See above.
*
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
* @param array<\Google\Protobuf\Internal\UninterpretedOption>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setUninterpretedOption($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
$this->uninterpreted_option = $arr;
return $this;
}
}

View File

@ -1,58 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\FieldOptions;
use UnexpectedValueException;
/**
* Protobuf type <code>google.protobuf.FieldOptions.CType</code>
*/
class CType
{
/**
* Default mode.
*
* Generated from protobuf enum <code>STRING = 0;</code>
*/
const STRING = 0;
/**
* Generated from protobuf enum <code>CORD = 1;</code>
*/
const CORD = 1;
/**
* Generated from protobuf enum <code>STRING_PIECE = 2;</code>
*/
const STRING_PIECE = 2;
private static $valueToName = [
self::STRING => 'STRING',
self::CORD => 'CORD',
self::STRING_PIECE => 'STRING_PIECE',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(CType::class, \Google\Protobuf\Internal\FieldOptions_CType::class);

View File

@ -1,62 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\FieldOptions;
use UnexpectedValueException;
/**
* Protobuf type <code>google.protobuf.FieldOptions.JSType</code>
*/
class JSType
{
/**
* Use the default type.
*
* Generated from protobuf enum <code>JS_NORMAL = 0;</code>
*/
const JS_NORMAL = 0;
/**
* Use JavaScript strings.
*
* Generated from protobuf enum <code>JS_STRING = 1;</code>
*/
const JS_STRING = 1;
/**
* Use JavaScript numbers.
*
* Generated from protobuf enum <code>JS_NUMBER = 2;</code>
*/
const JS_NUMBER = 2;
private static $valueToName = [
self::JS_NORMAL => 'JS_NORMAL',
self::JS_STRING => 'JS_STRING',
self::JS_NUMBER => 'JS_NUMBER',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(JSType::class, \Google\Protobuf\Internal\FieldOptions_JSType::class);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\FieldOptions\CType instead.
* @deprecated
*/
class FieldOptions_CType {}
}
class_exists(FieldOptions\CType::class);
@trigger_error('Google\Protobuf\Internal\FieldOptions_CType is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\FieldOptions\CType instead', E_USER_DEPRECATED);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\FieldOptions\JSType instead.
* @deprecated
*/
class FieldOptions_JSType {}
}
class_exists(FieldOptions\JSType::class);
@trigger_error('Google\Protobuf\Internal\FieldOptions_JSType is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\FieldOptions\JSType instead', E_USER_DEPRECATED);

View File

@ -1,89 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
class FileDescriptor
{
private $package;
private $message_type = [];
private $enum_type = [];
public function setPackage($package)
{
$this->package = $package;
}
public function getPackage()
{
return $this->package;
}
public function getMessageType()
{
return $this->message_type;
}
public function addMessageType($desc)
{
$this->message_type[] = $desc;
}
public function getEnumType()
{
return $this->enum_type;
}
public function addEnumType($desc)
{
$this->enum_type[]= $desc;
}
public static function buildFromProto($proto)
{
$file = new FileDescriptor();
$file->setPackage($proto->getPackage());
foreach ($proto->getMessageType() as $message_proto) {
$file->addMessageType(Descriptor::buildFromProto(
$message_proto, $proto, ""));
}
foreach ($proto->getEnumType() as $enum_proto) {
$file->addEnumType(
EnumDescriptor::buildFromProto(
$enum_proto,
$proto,
""));
}
return $file;
}
}

View File

@ -1,533 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* Describes a complete .proto file.
*
* Generated from protobuf message <code>google.protobuf.FileDescriptorProto</code>
*/
class FileDescriptorProto extends \Google\Protobuf\Internal\Message
{
/**
* file name, relative to root of source tree
*
* Generated from protobuf field <code>optional string name = 1;</code>
*/
protected $name = null;
/**
* e.g. "foo", "foo.bar", etc.
*
* Generated from protobuf field <code>optional string package = 2;</code>
*/
protected $package = null;
/**
* Names of files imported by this file.
*
* Generated from protobuf field <code>repeated string dependency = 3;</code>
*/
private $dependency;
/**
* Indexes of the public imported files in the dependency list above.
*
* Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
*/
private $public_dependency;
/**
* Indexes of the weak imported files in the dependency list.
* For Google-internal migration only. Do not use.
*
* Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
*/
private $weak_dependency;
/**
* All top-level definitions in this file.
*
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
*/
private $message_type;
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
*/
private $enum_type;
/**
* Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
*/
private $service;
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
*/
private $extension;
/**
* Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
*/
protected $options = null;
/**
* This field contains optional information about the original source code.
* You may safely remove this entire field without harming runtime
* functionality of the descriptors -- the information is needed only by
* development tools.
*
* Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
*/
protected $source_code_info = null;
/**
* The syntax of the proto file.
* The supported values are "proto2", "proto3", and "editions".
* If `edition` is present, this value must be "editions".
*
* Generated from protobuf field <code>optional string syntax = 12;</code>
*/
protected $syntax = null;
/**
* The edition of the proto file, which is an opaque string.
*
* Generated from protobuf field <code>optional string edition = 13;</code>
*/
protected $edition = null;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $name
* file name, relative to root of source tree
* @type string $package
* e.g. "foo", "foo.bar", etc.
* @type array<string>|\Google\Protobuf\Internal\RepeatedField $dependency
* Names of files imported by this file.
* @type array<int>|\Google\Protobuf\Internal\RepeatedField $public_dependency
* Indexes of the public imported files in the dependency list above.
* @type array<int>|\Google\Protobuf\Internal\RepeatedField $weak_dependency
* Indexes of the weak imported files in the dependency list.
* For Google-internal migration only. Do not use.
* @type array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $message_type
* All top-level definitions in this file.
* @type array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $enum_type
* @type array<\Google\Protobuf\Internal\ServiceDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $service
* @type array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $extension
* @type \Google\Protobuf\Internal\FileOptions $options
* @type \Google\Protobuf\Internal\SourceCodeInfo $source_code_info
* This field contains optional information about the original source code.
* You may safely remove this entire field without harming runtime
* functionality of the descriptors -- the information is needed only by
* development tools.
* @type string $syntax
* The syntax of the proto file.
* The supported values are "proto2", "proto3", and "editions".
* If `edition` is present, this value must be "editions".
* @type string $edition
* The edition of the proto file, which is an opaque string.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* file name, relative to root of source tree
*
* Generated from protobuf field <code>optional string name = 1;</code>
* @return string
*/
public function getName()
{
return isset($this->name) ? $this->name : '';
}
public function hasName()
{
return isset($this->name);
}
public function clearName()
{
unset($this->name);
}
/**
* file name, relative to root of source tree
*
* Generated from protobuf field <code>optional string name = 1;</code>
* @param string $var
* @return $this
*/
public function setName($var)
{
GPBUtil::checkString($var, True);
$this->name = $var;
return $this;
}
/**
* e.g. "foo", "foo.bar", etc.
*
* Generated from protobuf field <code>optional string package = 2;</code>
* @return string
*/
public function getPackage()
{
return isset($this->package) ? $this->package : '';
}
public function hasPackage()
{
return isset($this->package);
}
public function clearPackage()
{
unset($this->package);
}
/**
* e.g. "foo", "foo.bar", etc.
*
* Generated from protobuf field <code>optional string package = 2;</code>
* @param string $var
* @return $this
*/
public function setPackage($var)
{
GPBUtil::checkString($var, True);
$this->package = $var;
return $this;
}
/**
* Names of files imported by this file.
*
* Generated from protobuf field <code>repeated string dependency = 3;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getDependency()
{
return $this->dependency;
}
/**
* Names of files imported by this file.
*
* Generated from protobuf field <code>repeated string dependency = 3;</code>
* @param array<string>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setDependency($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING);
$this->dependency = $arr;
return $this;
}
/**
* Indexes of the public imported files in the dependency list above.
*
* Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getPublicDependency()
{
return $this->public_dependency;
}
/**
* Indexes of the public imported files in the dependency list above.
*
* Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
* @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setPublicDependency($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
$this->public_dependency = $arr;
return $this;
}
/**
* Indexes of the weak imported files in the dependency list.
* For Google-internal migration only. Do not use.
*
* Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getWeakDependency()
{
return $this->weak_dependency;
}
/**
* Indexes of the weak imported files in the dependency list.
* For Google-internal migration only. Do not use.
*
* Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
* @param array<int>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setWeakDependency($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::INT32);
$this->weak_dependency = $arr;
return $this;
}
/**
* All top-level definitions in this file.
*
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getMessageType()
{
return $this->message_type;
}
/**
* All top-level definitions in this file.
*
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
* @param array<\Google\Protobuf\Internal\DescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setMessageType($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\DescriptorProto::class);
$this->message_type = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getEnumType()
{
return $this->enum_type;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
* @param array<\Google\Protobuf\Internal\EnumDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setEnumType($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\EnumDescriptorProto::class);
$this->enum_type = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getService()
{
return $this->service;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
* @param array<\Google\Protobuf\Internal\ServiceDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setService($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\ServiceDescriptorProto::class);
$this->service = $arr;
return $this;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getExtension()
{
return $this->extension;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
* @param array<\Google\Protobuf\Internal\FieldDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setExtension($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FieldDescriptorProto::class);
$this->extension = $arr;
return $this;
}
/**
* Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
* @return \Google\Protobuf\Internal\FileOptions|null
*/
public function getOptions()
{
return $this->options;
}
public function hasOptions()
{
return isset($this->options);
}
public function clearOptions()
{
unset($this->options);
}
/**
* Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
* @param \Google\Protobuf\Internal\FileOptions $var
* @return $this
*/
public function setOptions($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FileOptions::class);
$this->options = $var;
return $this;
}
/**
* This field contains optional information about the original source code.
* You may safely remove this entire field without harming runtime
* functionality of the descriptors -- the information is needed only by
* development tools.
*
* Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
* @return \Google\Protobuf\Internal\SourceCodeInfo|null
*/
public function getSourceCodeInfo()
{
return $this->source_code_info;
}
public function hasSourceCodeInfo()
{
return isset($this->source_code_info);
}
public function clearSourceCodeInfo()
{
unset($this->source_code_info);
}
/**
* This field contains optional information about the original source code.
* You may safely remove this entire field without harming runtime
* functionality of the descriptors -- the information is needed only by
* development tools.
*
* Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
* @param \Google\Protobuf\Internal\SourceCodeInfo $var
* @return $this
*/
public function setSourceCodeInfo($var)
{
GPBUtil::checkMessage($var, \Google\Protobuf\Internal\SourceCodeInfo::class);
$this->source_code_info = $var;
return $this;
}
/**
* The syntax of the proto file.
* The supported values are "proto2", "proto3", and "editions".
* If `edition` is present, this value must be "editions".
*
* Generated from protobuf field <code>optional string syntax = 12;</code>
* @return string
*/
public function getSyntax()
{
return isset($this->syntax) ? $this->syntax : '';
}
public function hasSyntax()
{
return isset($this->syntax);
}
public function clearSyntax()
{
unset($this->syntax);
}
/**
* The syntax of the proto file.
* The supported values are "proto2", "proto3", and "editions".
* If `edition` is present, this value must be "editions".
*
* Generated from protobuf field <code>optional string syntax = 12;</code>
* @param string $var
* @return $this
*/
public function setSyntax($var)
{
GPBUtil::checkString($var, True);
$this->syntax = $var;
return $this;
}
/**
* The edition of the proto file, which is an opaque string.
*
* Generated from protobuf field <code>optional string edition = 13;</code>
* @return string
*/
public function getEdition()
{
return isset($this->edition) ? $this->edition : '';
}
public function hasEdition()
{
return isset($this->edition);
}
public function clearEdition()
{
unset($this->edition);
}
/**
* The edition of the proto file, which is an opaque string.
*
* Generated from protobuf field <code>optional string edition = 13;</code>
* @param string $var
* @return $this
*/
public function setEdition($var)
{
GPBUtil::checkString($var, True);
$this->edition = $var;
return $this;
}
}

View File

@ -1,63 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBWire;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\InputStream;
use Google\Protobuf\Internal\GPBUtil;
/**
* The protocol compiler can output a FileDescriptorSet containing the .proto
* files it parses.
*
* Generated from protobuf message <code>google.protobuf.FileDescriptorSet</code>
*/
class FileDescriptorSet extends \Google\Protobuf\Internal\Message
{
/**
* Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
*/
private $file;
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type array<\Google\Protobuf\Internal\FileDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $file
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
parent::__construct($data);
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
* @return \Google\Protobuf\Internal\RepeatedField
*/
public function getFile()
{
return $this->file;
}
/**
* Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
* @param array<\Google\Protobuf\Internal\FileDescriptorProto>|\Google\Protobuf\Internal\RepeatedField $var
* @return $this
*/
public function setFile($var)
{
$arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\FileDescriptorProto::class);
$this->file = $arr;
return $this;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,64 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal\FileOptions;
use UnexpectedValueException;
/**
* Generated classes can be optimized for speed or code size.
*
* Protobuf type <code>google.protobuf.FileOptions.OptimizeMode</code>
*/
class OptimizeMode
{
/**
* Generate complete code for parsing, serialization,
*
* Generated from protobuf enum <code>SPEED = 1;</code>
*/
const SPEED = 1;
/**
* etc.
*
* Generated from protobuf enum <code>CODE_SIZE = 2;</code>
*/
const CODE_SIZE = 2;
/**
* Generate code using MessageLite and the lite runtime.
*
* Generated from protobuf enum <code>LITE_RUNTIME = 3;</code>
*/
const LITE_RUNTIME = 3;
private static $valueToName = [
self::SPEED => 'SPEED',
self::CODE_SIZE => 'CODE_SIZE',
self::LITE_RUNTIME => 'LITE_RUNTIME',
];
public static function name($value)
{
if (!isset(self::$valueToName[$value])) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no name defined for value %s', __CLASS__, $value));
}
return self::$valueToName[$value];
}
public static function value($name)
{
$const = __CLASS__ . '::' . strtoupper($name);
if (!defined($const)) {
throw new UnexpectedValueException(sprintf(
'Enum %s has no value defined for name %s', __CLASS__, $name));
}
return constant($const);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(OptimizeMode::class, \Google\Protobuf\Internal\FileOptions_OptimizeMode::class);

View File

@ -1,16 +0,0 @@
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/protobuf/descriptor.proto
namespace Google\Protobuf\Internal;
if (false) {
/**
* This class is deprecated. Use Google\Protobuf\Internal\FileOptions\OptimizeMode instead.
* @deprecated
*/
class FileOptions_OptimizeMode {}
}
class_exists(FileOptions\OptimizeMode::class);
@trigger_error('Google\Protobuf\Internal\FileOptions_OptimizeMode is deprecated and will be removed in the next major release. Use Google\Protobuf\Internal\FileOptions\OptimizeMode instead', E_USER_DEPRECATED);

View File

@ -1,47 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
class GPBDecodeException extends \Exception
{
public function __construct(
$message,
$code = 0,
\Exception $previous = null)
{
parent::__construct(
"Error occurred during parsing: " . $message,
$code,
$previous);
}
}

View File

@ -1,304 +0,0 @@
<?php
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace Google\Protobuf\Internal;
class GPBJsonWire
{
public static function serializeFieldToStream(
$value,
$field,
&$output, $has_field_name = true)
{
if ($has_field_name) {
$output->writeRaw("\"", 1);
$field_name = GPBJsonWire::formatFieldName($field);
$output->writeRaw($field_name, strlen($field_name));
$output->writeRaw("\":", 2);
}
return static::serializeFieldValueToStream(
$value,
$field,
$output,
!$has_field_name);
}
public static function serializeFieldValueToStream(
$values,
$field,
&$output,
$is_well_known = false)
{
if ($field->isMap()) {
$output->writeRaw("{", 1);
$first = true;
$map_entry = $field->getMessageType();
$key_field = $map_entry->getFieldByNumber(1);
$value_field = $map_entry->getFieldByNumber(2);
switch ($key_field->getType()) {
case GPBType::STRING:
case GPBType::SFIXED64:
case GPBType::INT64:
case GPBType::SINT64:
case GPBType::FIXED64:
case GPBType::UINT64:
$additional_quote = false;
break;
default:
$additional_quote = true;
}
foreach ($values as $key => $value) {
if ($first) {
$first = false;
} else {
$output->writeRaw(",", 1);
}
if ($additional_quote) {
$output->writeRaw("\"", 1);
}
if (!static::serializeSingularFieldValueToStream(
$key,
$key_field,
$output,
$is_well_known)) {
return false;
}
if ($additional_quote) {
$output->writeRaw("\"", 1);
}
$output->writeRaw(":", 1);
if (!static::serializeSingularFieldValueToStream(
$value,
$value_field,
$output,
$is_well_known)) {
return false;
}
}
$output->writeRaw("}", 1);
return true;
} elseif ($field->isRepeated()) {
$output->writeRaw("[", 1);
$first = true;
foreach ($values as $value) {
if ($first) {
$first = false;
} else {
$output->writeRaw(",", 1);
}
if (!static::serializeSingularFieldValueToStream(
$value,
$field,
$output,
$is_well_known)) {
return false;
}
}
$output->writeRaw("]", 1);
return true;
} else {
return static::serializeSingularFieldValueToStream(
$values,
$field,
$output,
$is_well_known);
}
}
private static function serializeSingularFieldValueToStream(
$value,
$field,
&$output, $is_well_known = false)
{
switch ($field->getType()) {
case GPBType::SFIXED32:
case GPBType::SINT32:
case GPBType::INT32:
$str_value = strval($value);
$output->writeRaw($str_value, strlen($str_value));
break;
case GPBType::FIXED32:
case GPBType::UINT32:
if ($value < 0) {
$value = bcadd($value, "4294967296");
}
$str_value = strval($value);
$output->writeRaw($str_value, strlen($str_value));
break;
case GPBType::FIXED64:
case GPBType::UINT64:
if ($value < 0) {
$value = bcadd($value, "18446744073709551616");
}
// Intentional fall through.
case GPBType::SFIXED64:
case GPBType::INT64:
case GPBType::SINT64:
$output->writeRaw("\"", 1);
$str_value = strval($value);
$output->writeRaw($str_value, strlen($str_value));
$output->writeRaw("\"", 1);
break;
case GPBType::FLOAT:
if (is_nan($value)) {
$str_value = "\"NaN\"";
} elseif ($value === INF) {
$str_value = "\"Infinity\"";
} elseif ($value === -INF) {
$str_value = "\"-Infinity\"";
} else {
$str_value = sprintf("%.8g", $value);
}
$output->writeRaw($str_value, strlen($str_value));
break;
case GPBType::DOUBLE:
if (is_nan($value)) {
$str_value = "\"NaN\"";
} elseif ($value === INF) {
$str_value = "\"Infinity\"";
} elseif ($value === -INF) {
$str_value = "\"-Infinity\"";
} else {
$str_value = sprintf("%.17g", $value);
}
$output->writeRaw($str_value, strlen($str_value));
break;
case GPBType::ENUM:
$enum_desc = $field->getEnumType();
if ($enum_desc->getClass() === "Google\Protobuf\NullValue") {
$output->writeRaw("null", 4);
break;
}
$enum_value_desc = $enum_desc->getValueByNumber($value);
if (!is_null($enum_value_desc)) {
$str_value = $enum_value_desc->getName();
$output->writeRaw("\"", 1);
$output->writeRaw($str_value, strlen($str_value));
$output->writeRaw("\"", 1);
} else {
$str_value = strval($value);
$output->writeRaw($str_value, strlen($str_value));
}
break;
case GPBType::BOOL:
if ($value) {
$output->writeRaw("true", 4);
} else {
$output->writeRaw("false", 5);
}
break;
case GPBType::BYTES:
$bytes_value = base64_encode($value);
$output->writeRaw("\"", 1);
$output->writeRaw($bytes_value, strlen($bytes_value));
$output->writeRaw("\"", 1);
break;
case GPBType::STRING:
$value = json_encode($value, JSON_UNESCAPED_UNICODE);
$output->writeRaw($value, strlen($value));
break;
// case GPBType::GROUP:
// echo "GROUP\xA";
// trigger_error("Not implemented.", E_ERROR);
// break;
case GPBType::MESSAGE:
$value->serializeToJsonStream($output);
break;
default:
user_error("Unsupported type.");
return false;
}
return true;
}
private static function formatFieldName($field)
{
return $field->getJsonName();
}
// Used for escaping control chars in strings.
private static $k_control_char_limit = 0x20;
private static function jsonNiceEscape($c)
{
switch ($c) {
case '"': return "\\\"";
case '\\': return "\\\\";
case '/': return "\\/";
case '\b': return "\\b";
case '\f': return "\\f";
case '\n': return "\\n";
case '\r': return "\\r";
case '\t': return "\\t";
default: return NULL;
}
}
private static function isJsonEscaped($c)
{
// See RFC 4627.
return $c < chr($k_control_char_limit) || $c === "\"" || $c === "\\";
}
public static function escapedJson($value)
{
$escaped_value = "";
$unescaped_run = "";
for ($i = 0; $i < strlen($value); $i++) {
$c = $value[$i];
// Handle escaping.
if (static::isJsonEscaped($c)) {
// Use a "nice" escape, like \n, if one exists for this
// character.
$escape = static::jsonNiceEscape($c);
if (is_null($escape)) {
$escape = "\\u00" . bin2hex($c);
}
if ($unescaped_run !== "") {
$escaped_value .= $unescaped_run;
$unescaped_run = "";
}
$escaped_value .= $escape;
} else {
if ($unescaped_run === "") {
$unescaped_run .= $c;
}
}
}
$escaped_value .= $unescaped_run;
return $escaped_value;
}
}

Some files were not shown because too many files have changed in this diff Show More