Go to the documentation of this file.
34 #ifndef GOOGLE_PROTOBUF_PYTHON_CPP_MESSAGE_H__
35 #define GOOGLE_PROTOBUF_PYTHON_CPP_MESSAGE_H__
41 #include <unordered_map>
58 struct PyMessageFactory;
90 PyObject*
AsPyObject() {
return reinterpret_cast<PyObject*
>(
this); }
115 typedef std::unordered_map<const FieldDescriptor*, ContainerBase*>
167 return reinterpret_cast<PyObject*
>(
this);
217 ContainerBase*
value);
292 #define IS_64BIT (SIZEOF_LONG == 8)
294 #define FIELD_IS_REPEATED(field_descriptor) \
295 ((field_descriptor)->label() == FieldDescriptor::LABEL_REPEATED)
297 #define GOOGLE_CHECK_GET_INT32(arg, value, err) \
299 if (!CheckAndGetInteger(arg, &value)) { \
303 #define GOOGLE_CHECK_GET_INT64(arg, value, err) \
305 if (!CheckAndGetInteger(arg, &value)) { \
309 #define GOOGLE_CHECK_GET_UINT32(arg, value, err) \
311 if (!CheckAndGetInteger(arg, &value)) { \
315 #define GOOGLE_CHECK_GET_UINT64(arg, value, err) \
317 if (!CheckAndGetInteger(arg, &value)) { \
321 #define GOOGLE_CHECK_GET_FLOAT(arg, value, err) \
323 if (!CheckAndGetFloat(arg, &value)) { \
327 #define GOOGLE_CHECK_GET_DOUBLE(arg, value, err) \
329 if (!CheckAndGetDouble(arg, &value)) { \
333 #define GOOGLE_CHECK_GET_BOOL(arg, value, err) \
335 if (!CheckAndGetBool(arg, &value)) { \
340 #define FULL_MODULE_NAME "google.protobuf.pyext._message"
350 PyObject* arg, Message*
message,
352 const Reflection* reflection,
356 const string&
value);
368 PyObject* message_factory);
383 #endif // GOOGLE_PROTOBUF_PYTHON_CPP_MESSAGE_H__
const FieldDescriptor * GetExtensionDescriptor(PyObject *extension)
PyObject * Clear(CMessage *self)
PyObject * PickleError_class
CMessage * NewEmptyMessage(CMessageClass *type)
const Descriptor::ReservedRange const EnumValueDescriptor const MethodDescriptor extension
int InitAttributes(CMessage *self, PyObject *args, PyObject *kwargs)
PyObject * ToStringObject(const FieldDescriptor *descriptor, const string &value)
template bool CheckAndGetInteger< uint32 >(PyObject *, uint32 *)
PyObject * MergeFrom(CMessage *self, PyObject *arg)
template bool CheckAndGetInteger< int64 >(PyObject *, int64 *)
template bool CheckAndGetInteger< uint64 >(PyObject *, uint64 *)
PyObject * InternalGetScalar(const Message *message, const FieldDescriptor *field_descriptor)
PyObject * unknown_field_set
std::unordered_map< const FieldDescriptor *, ContainerBase * > CompositeFieldsMap
#define T(upbtypeconst, upbtype, ctype, default_value)
PyObject * HasFieldByDescriptor(CMessage *self, const FieldDescriptor *field_descriptor)
PyObject * CheckString(PyObject *arg, const FieldDescriptor *descriptor)
PyObject * RegisterExtension(PyObject *cls, PyObject *extension_handle)
PyTypeObject * CMessageClass_Type
PyObject * ClearField(CMessage *self, PyObject *arg)
PyTypeObject * CMessage_Type
const FieldDescriptor * parent_field_descriptor
bool SetCompositeField(CMessage *self, const FieldDescriptor *field, ContainerBase *value)
PyObject * SetAllowOversizeProtos(PyObject *m, PyObject *arg)
struct google::protobuf::python::ExtensionDict ExtensionDict
PyObject * FindInitializationErrors(CMessage *self)
const Descriptor * message_descriptor
const FieldDescriptor * field
void RemoveFromParentCache()
template bool CheckAndGetInteger< int32 >(PyObject *, int32 *)
int AssureWritable(CMessage *self)
int SetFieldValue(CMessage *self, const FieldDescriptor *field_descriptor, PyObject *value)
bool SetSubmessage(CMessage *self, CMessage *submessage)
bool CheckAndGetFloat(PyObject *arg, float *value)
CompositeFieldsMap * composite_fields
CMessage * MaybeReleaseSubMessage(Message *sub_message)
PyMessageFactory * py_message_factory
PyMessageFactory * GetFactoryForMessage(CMessage *message)
PyObject * py_message_descriptor
bool CheckFieldBelongsToMessage(const FieldDescriptor *field_descriptor, const Message *message)
SubMessagesMap * child_submessages
int DeleteRepeatedField(CMessage *self, const FieldDescriptor *field_descriptor, PyObject *slice)
int InternalSetScalar(CMessage *self, const FieldDescriptor *field_descriptor, PyObject *arg)
const upb_json_parsermethod * m
PyObject * HasField(CMessage *self, PyObject *arg)
std::unordered_map< const Message *, CMessage * > SubMessagesMap
CMessage * BuildSubMessageFromPointer(const FieldDescriptor *field_descriptor, Message *sub_message, CMessageClass *message_class)
bool CheckAndGetBool(PyObject *arg, bool *value)
bool InitProto2MessageModule(PyObject *m)
bool CheckAndSetString(PyObject *arg, Message *message, const FieldDescriptor *descriptor, const Reflection *reflection, bool append, int index)
void FormatTypeError(PyObject *arg, char *expected_types)
int InternalSetNonOneofScalar(Message *message, const FieldDescriptor *field_descriptor, PyObject *arg)
PyObject * ClearFieldByDescriptor(CMessage *self, const FieldDescriptor *field_descriptor)
bool CheckAndGetDouble(PyObject *arg, double *value)
GLsizei const GLfloat * value
PyObject * PyMessage_NewMessageOwnedExternally(Message *message, PyObject *message_factory)
CMessageClass * GetMessageClass()
google::protobuf::python::CMessage CMessage
PyObject * GetFieldValue(CMessage *self, const FieldDescriptor *field_descriptor)
const Message * PyMessage_GetMessagePointer(PyObject *msg)
GLenum GLuint GLenum GLsizei const GLchar * message
CMessage * InternalGetSubMessage(CMessage *self, const FieldDescriptor *field_descriptor)
Message * PyMessage_GetMutableMessagePointer(PyObject *msg)
bool CheckAndGetInteger(PyObject *arg, T *value)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:56