blob: 2283b96f5efd5a5b586cac1cdd05fdf4533c02c6 [file] [log] [blame] [edit]
// Protocol Buffers - Google's data interchange format
// Copyright 2023 Google LLC. 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 PYUPB_DESCRIPTOR_POOL_H__
#define PYUPB_DESCRIPTOR_POOL_H__
#include <stdbool.h>
#include "protobuf.h"
// Returns a Python wrapper object for the given symtab. The symtab must have
// been created from a Python DescriptorPool originally.
PyObject* PyUpb_DescriptorPool_Get(const upb_DefPool* symtab);
// Given a Python DescriptorPool, returns the underlying symtab.
upb_DefPool* PyUpb_DescriptorPool_GetSymtab(PyObject* pool);
// Returns the default DescriptorPool (a global singleton).
PyObject* PyUpb_DescriptorPool_GetDefaultPool(void);
// Module-level init.
bool PyUpb_InitDescriptorPool(PyObject* m);
#endif // PYUPB_DESCRIPTOR_POOL_H__