mirror of
https://git.tt-rss.org/fox/tt-rss.git
synced 2025-11-10 16:50:59 +01:00
drop opentelemetry
This commit is contained in:
parent
8fcc68baf5
commit
884fd92f13
15
backend.php
15
backend.php
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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.");
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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) {
|
||||
foreach ($entries as $entry) {
|
||||
$favicon_url = UrlHelper::rewrite_relative($url, $entry->getAttribute("href"));
|
||||
|
||||
if ($favicon_url)
|
||||
array_push($favicon_urls, $favicon_url);
|
||||
/** @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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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
892
composer.lock
generated
@ -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"
|
||||
}
|
||||
|
||||
14
public.php
14
public.php
@ -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);
|
||||
|
||||
|
||||
@ -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} \
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
1364
vendor/composer/autoload_classmap.php
vendored
1364
vendor/composer/autoload_classmap.php
vendored
File diff suppressed because it is too large
Load Diff
14
vendor/composer/autoload_files.php
vendored
14
vendor/composer/autoload_files.php
vendored
@ -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',
|
||||
|
||||
15
vendor/composer/autoload_psr4.php
vendored
15
vendor/composer/autoload_psr4.php
vendored
@ -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'),
|
||||
|
||||
1453
vendor/composer/autoload_static.php
vendored
1453
vendor/composer/autoload_static.php
vendored
File diff suppressed because it is too large
Load Diff
927
vendor/composer/installed.json
vendored
927
vendor/composer/installed.json
vendored
@ -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",
|
||||
|
||||
132
vendor/composer/installed.php
vendored
132
vendor/composer/installed.php
vendored
@ -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',
|
||||
|
||||
29
vendor/google/protobuf/LICENSE
vendored
29
vendor/google/protobuf/LICENSE
vendored
@ -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.
|
||||
2
vendor/google/protobuf/README.md
vendored
2
vendor/google/protobuf/README.md
vendored
@ -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
|
||||
23
vendor/google/protobuf/composer.json
vendored
23
vendor/google/protobuf/composer.json
vendored
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 (Bƒ
|
||||
com.google.protobufB
DurationProtoPZ1google.golang.org/protobuf/types/known/durationpbø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3'
|
||||
, true);
|
||||
|
||||
static::$is_initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 ( BŠ
|
||||
com.google.protobufBSourceContextProtoPZ6google.golang.org/protobuf/types/known/sourcecontextpb¢GPBªGoogle.Protobuf.WellKnownTypesbproto3'
|
||||
, true);
|
||||
|
||||
static::$is_initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -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 (Bƒ
|
||||
com.google.protobufB
WrappersProtoPZ1google.golang.org/protobuf/types/known/wrapperspbø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3'
|
||||
, true);
|
||||
|
||||
static::$is_initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
257
vendor/google/protobuf/src/Google/Protobuf/Any.php
vendored
257
vendor/google/protobuf/src/Google/Protobuf/Any.php
vendored
@ -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 `@type` which contains the type URL. Example:
|
||||
* package google.profile;
|
||||
* message Person {
|
||||
* string first_name = 1;
|
||||
* string last_name = 2;
|
||||
* }
|
||||
* {
|
||||
* "@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 `@type`
|
||||
* field. Example (for message [google.protobuf.Duration][]):
|
||||
* {
|
||||
* "@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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
360
vendor/google/protobuf/src/Google/Protobuf/Api.php
vendored
360
vendor/google/protobuf/src/Google/Protobuf/Api.php
vendored
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
213
vendor/google/protobuf/src/Google/Protobuf/Enum.php
vendored
213
vendor/google/protobuf/src/Google/Protobuf/Enum.php
vendored
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
381
vendor/google/protobuf/src/Google/Protobuf/Field.php
vendored
381
vendor/google/protobuf/src/Google/Protobuf/Field.php
vendored
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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 message’s 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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user