1/*!
2 * @header   proxy-registry.h
3 * @abstract Maintain a registry of proxied objects
4 * @discussion
5 * 	Object-identity is important in several Cocoa API's. For that
6 * 	reason we need to make sure that at most one proxy object is
7 * 	alive for every Python or Objective-C object.
8 */
9#ifndef PyObjC_PROXY_REGISTRY_H
10#define PyObjC_PROXY_REGISTRY_H
11
12int PyObjC_InitProxyRegistry(void);
13
14int PyObjC_RegisterPythonProxy(id original, PyObject* proxy);
15int PyObjC_RegisterObjCProxy(PyObject* original, id proxy);
16
17void PyObjC_UnregisterPythonProxy(id original, PyObject* proxy);
18void PyObjC_UnregisterObjCProxy(PyObject* original, id proxy);
19
20id PyObjC_FindObjCProxy(PyObject* original);
21PyObject* PyObjC_FindPythonProxy(id original);
22
23#endif /* PyObjC_PROXY_REGISTRY_H */
24