Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.5 KiB
39 lines
1.5 KiB
// Protocol Buffers - Google's data interchange format |
|
// Copyright 2008 Google Inc. All rights reserved. |
|
// |
|
// Use of this source code is governed by a BSD-style |
|
// license that can be found in the LICENSE file or at |
|
// https://developers.google.com/open-source/licenses/bsd |
|
|
|
#ifndef PHP_PROTOBUF_MESSAGE_H_ |
|
#define PHP_PROTOBUF_MESSAGE_H_ |
|
|
|
#include <stdbool.h> |
|
|
|
#include "def.h" |
|
|
|
// Registers the PHP Message class. |
|
void Message_ModuleInit(); |
|
|
|
// Gets a upb_Message* for the PHP object |val|, which must either be a Message |
|
// object or 'null'. Returns true and stores the message in |msg| if the |
|
// conversion succeeded (we can't return upb_Message* because null->NULL is a |
|
// valid conversion). Returns false and raises a PHP error if this isn't a |
|
// Message object or null, or if the Message object doesn't match this |
|
// Descriptor. |
|
// |
|
// The given |arena| will be fused to this message's arena. |
|
bool Message_GetUpbMessage(zval* val, const Descriptor* desc, upb_Arena* arena, |
|
upb_Message** msg); |
|
|
|
// Gets or creates a PHP Message object to wrap the given upb_Message* and |
|
// |desc| and returns it in |val|. The PHP object will keep a reference to this |
|
// |arena| to ensure the underlying message data stays alive. |
|
// |
|
// If |msg| is NULL, this will return a PHP null. |
|
void Message_GetPhpWrapper(zval* val, const Descriptor* desc, upb_Message* msg, |
|
zval* arena); |
|
|
|
bool ValueEq(upb_MessageValue val1, upb_MessageValue val2, TypeInfo type); |
|
|
|
#endif // PHP_PROTOBUF_MESSAGE_H_
|
|
|