mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Used an adapted MethodGenerator to generate methods too for functions that have the object as the second arg after a first CFAllocatorRef arg (which we pass as NULL always anyway).
This commit is contained in:
parent
3d3a91c188
commit
6f70d62855
3 changed files with 300 additions and 326 deletions
|
|
@ -17,7 +17,12 @@
|
|||
|
||||
|
||||
#ifdef WITHOUT_FRAMEWORKS
|
||||
#include <CoreFoundation.h>
|
||||
#include <CFBase.h>
|
||||
#include <CFArray.h>
|
||||
#include <CFData.h>
|
||||
#include <CFDictionary.h>
|
||||
#include <CFString.h>
|
||||
#include <CFURL.h>
|
||||
#else
|
||||
#include <CoreFoundation.h>
|
||||
#endif
|
||||
|
|
@ -27,6 +32,8 @@ staticforward PyObject *CFTypeRefObj_New(CFTypeRef);
|
|||
staticforward int CFTypeRefObj_Convert(PyObject *, CFTypeRef *);
|
||||
staticforward PyObject *CFStringRefObj_New(CFStringRef);
|
||||
staticforward int CFStringRefObj_Convert(PyObject *, CFStringRef *);
|
||||
staticforward PyObject *CFURLRefObj_New(CFURLRef);
|
||||
staticforward int CFURLRefObj_Convert(PyObject *, CFURLRef *);
|
||||
|
||||
staticforward int CFURLRefObj_Convert(PyObject *, CFURLRef *);
|
||||
|
||||
|
|
@ -342,6 +349,19 @@ static void CFArrayRefObj_dealloc(CFArrayRefObject *self)
|
|||
PyMem_DEL(self);
|
||||
}
|
||||
|
||||
static PyObject *CFArrayRefObj_CFArrayCreateCopy(CFArrayRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFArrayRef _rv;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_rv = CFArrayCreateCopy((CFAllocatorRef)NULL,
|
||||
_self->ob_itself);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFArrayRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFArrayRefObj_CFArrayGetCount(CFArrayRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -355,9 +375,29 @@ static PyObject *CFArrayRefObj_CFArrayGetCount(CFArrayRefObject *_self, PyObject
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFArrayRefObj_CFStringCreateByCombiningStrings(CFArrayRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFStringRef separatorString;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFStringRefObj_Convert, &separatorString))
|
||||
return NULL;
|
||||
_rv = CFStringCreateByCombiningStrings((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
separatorString);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyMethodDef CFArrayRefObj_methods[] = {
|
||||
{"CFArrayCreateCopy", (PyCFunction)CFArrayRefObj_CFArrayCreateCopy, 1,
|
||||
"() -> (CFArrayRef _rv)"},
|
||||
{"CFArrayGetCount", (PyCFunction)CFArrayRefObj_CFArrayGetCount, 1,
|
||||
"() -> (CFIndex _rv)"},
|
||||
{"CFStringCreateByCombiningStrings", (PyCFunction)CFArrayRefObj_CFStringCreateByCombiningStrings, 1,
|
||||
"(CFStringRef separatorString) -> (CFStringRef _rv)"},
|
||||
{NULL, NULL, 0}
|
||||
};
|
||||
|
||||
|
|
@ -612,6 +652,19 @@ static void CFDictionaryRefObj_dealloc(CFDictionaryRefObject *self)
|
|||
PyMem_DEL(self);
|
||||
}
|
||||
|
||||
static PyObject *CFDictionaryRefObj_CFDictionaryCreateCopy(CFDictionaryRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDictionaryRef _rv;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_rv = CFDictionaryCreateCopy((CFAllocatorRef)NULL,
|
||||
_self->ob_itself);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDictionaryRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFDictionaryRefObj_CFDictionaryGetCount(CFDictionaryRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -626,6 +679,8 @@ static PyObject *CFDictionaryRefObj_CFDictionaryGetCount(CFDictionaryRefObject *
|
|||
}
|
||||
|
||||
static PyMethodDef CFDictionaryRefObj_methods[] = {
|
||||
{"CFDictionaryCreateCopy", (PyCFunction)CFDictionaryRefObj_CFDictionaryCreateCopy, 1,
|
||||
"() -> (CFDictionaryRef _rv)"},
|
||||
{"CFDictionaryGetCount", (PyCFunction)CFDictionaryRefObj_CFDictionaryGetCount, 1,
|
||||
"() -> (CFIndex _rv)"},
|
||||
{NULL, NULL, 0}
|
||||
|
|
@ -845,6 +900,19 @@ static void CFDataRefObj_dealloc(CFDataRefObject *self)
|
|||
PyMem_DEL(self);
|
||||
}
|
||||
|
||||
static PyObject *CFDataRefObj_CFDataCreateCopy(CFDataRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDataRef _rv;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_rv = CFDataCreateCopy((CFAllocatorRef)NULL,
|
||||
_self->ob_itself);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDataRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFDataRefObj_CFDataGetLength(CFDataRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -858,9 +926,29 @@ static PyObject *CFDataRefObj_CFDataGetLength(CFDataRefObject *_self, PyObject *
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFDataRefObj_CFStringCreateFromExternalRepresentation(CFDataRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFStringEncoding encoding;
|
||||
if (!PyArg_ParseTuple(_args, "l",
|
||||
&encoding))
|
||||
return NULL;
|
||||
_rv = CFStringCreateFromExternalRepresentation((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
encoding);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyMethodDef CFDataRefObj_methods[] = {
|
||||
{"CFDataCreateCopy", (PyCFunction)CFDataRefObj_CFDataCreateCopy, 1,
|
||||
"() -> (CFDataRef _rv)"},
|
||||
{"CFDataGetLength", (PyCFunction)CFDataRefObj_CFDataGetLength, 1,
|
||||
"() -> (CFIndex _rv)"},
|
||||
{"CFStringCreateFromExternalRepresentation", (PyCFunction)CFDataRefObj_CFStringCreateFromExternalRepresentation, 1,
|
||||
"(CFStringEncoding encoding) -> (CFStringRef _rv)"},
|
||||
{NULL, NULL, 0}
|
||||
};
|
||||
|
||||
|
|
@ -1173,6 +1261,35 @@ static void CFStringRefObj_dealloc(CFStringRefObject *self)
|
|||
PyMem_DEL(self);
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringCreateWithSubstring(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFRange range;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFRange_Convert, &range))
|
||||
return NULL;
|
||||
_rv = CFStringCreateWithSubstring((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
range);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringCreateCopy(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
if (!PyArg_ParseTuple(_args, ""))
|
||||
return NULL;
|
||||
_rv = CFStringCreateCopy((CFAllocatorRef)NULL,
|
||||
_self->ob_itself);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringGetLength(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -1220,6 +1337,25 @@ static PyObject *CFStringRefObj_CFStringGetBytes(CFStringRefObject *_self, PyObj
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringCreateExternalRepresentation(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDataRef _rv;
|
||||
CFStringEncoding encoding;
|
||||
UInt8 lossByte;
|
||||
if (!PyArg_ParseTuple(_args, "lb",
|
||||
&encoding,
|
||||
&lossByte))
|
||||
return NULL;
|
||||
_rv = CFStringCreateExternalRepresentation((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
encoding,
|
||||
lossByte);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDataRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringGetSmallestEncoding(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -1312,6 +1448,28 @@ static PyObject *CFStringRefObj_CFStringFindWithOptions(CFStringRefObject *_self
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringCreateArrayWithFindResults(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFArrayRef _rv;
|
||||
CFStringRef stringToFind;
|
||||
CFRange rangeToSearch;
|
||||
CFOptionFlags compareOptions;
|
||||
if (!PyArg_ParseTuple(_args, "O&O&l",
|
||||
CFStringRefObj_Convert, &stringToFind,
|
||||
CFRange_Convert, &rangeToSearch,
|
||||
&compareOptions))
|
||||
return NULL;
|
||||
_rv = CFStringCreateArrayWithFindResults((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
stringToFind,
|
||||
rangeToSearch,
|
||||
compareOptions);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFArrayRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringFind(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -1386,6 +1544,22 @@ static PyObject *CFStringRefObj_CFStringGetLineBounds(CFStringRefObject *_self,
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringCreateArrayBySeparatingStrings(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFArrayRef _rv;
|
||||
CFStringRef separatorString;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFStringRefObj_Convert, &separatorString))
|
||||
return NULL;
|
||||
_rv = CFStringCreateArrayBySeparatingStrings((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
separatorString);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFArrayRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringGetIntValue(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -1437,6 +1611,57 @@ static PyObject *CFStringRefObj_CFShowStr(CFStringRefObject *_self, PyObject *_a
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFURLCreateWithString(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFURLRef _rv;
|
||||
CFURLRef baseURL;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
OptionalCFURLRefObj_Convert, &baseURL))
|
||||
return NULL;
|
||||
_rv = CFURLCreateWithString((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
baseURL);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFURLRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFURLCreateWithFileSystemPath(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFURLRef _rv;
|
||||
CFURLPathStyle pathStyle;
|
||||
Boolean isDirectory;
|
||||
if (!PyArg_ParseTuple(_args, "ll",
|
||||
&pathStyle,
|
||||
&isDirectory))
|
||||
return NULL;
|
||||
_rv = CFURLCreateWithFileSystemPath((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
pathStyle,
|
||||
isDirectory);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFURLRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFURLCreateStringByReplacingPercentEscapes(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFStringRef charactersToLeaveEscaped;
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFStringRefObj_Convert, &charactersToLeaveEscaped))
|
||||
return NULL;
|
||||
_rv = CFURLCreateStringByReplacingPercentEscapes((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
charactersToLeaveEscaped);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFStringRefObj_CFStringGetString(CFStringRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -1475,10 +1700,16 @@ static PyObject *CFStringRefObj_CFStringGetUnicode(CFStringRefObject *_self, PyO
|
|||
}
|
||||
|
||||
static PyMethodDef CFStringRefObj_methods[] = {
|
||||
{"CFStringCreateWithSubstring", (PyCFunction)CFStringRefObj_CFStringCreateWithSubstring, 1,
|
||||
"(CFRange range) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateCopy", (PyCFunction)CFStringRefObj_CFStringCreateCopy, 1,
|
||||
"() -> (CFStringRef _rv)"},
|
||||
{"CFStringGetLength", (PyCFunction)CFStringRefObj_CFStringGetLength, 1,
|
||||
"() -> (CFIndex _rv)"},
|
||||
{"CFStringGetBytes", (PyCFunction)CFStringRefObj_CFStringGetBytes, 1,
|
||||
"(CFRange range, CFStringEncoding encoding, UInt8 lossByte, Boolean isExternalRepresentation, CFIndex maxBufLen) -> (CFIndex _rv, UInt8 buffer, CFIndex usedBufLen)"},
|
||||
{"CFStringCreateExternalRepresentation", (PyCFunction)CFStringRefObj_CFStringCreateExternalRepresentation, 1,
|
||||
"(CFStringEncoding encoding, UInt8 lossByte) -> (CFDataRef _rv)"},
|
||||
{"CFStringGetSmallestEncoding", (PyCFunction)CFStringRefObj_CFStringGetSmallestEncoding, 1,
|
||||
"() -> (CFStringEncoding _rv)"},
|
||||
{"CFStringGetFastestEncoding", (PyCFunction)CFStringRefObj_CFStringGetFastestEncoding, 1,
|
||||
|
|
@ -1489,6 +1720,8 @@ static PyMethodDef CFStringRefObj_methods[] = {
|
|||
"(CFStringRef string2, CFOptionFlags compareOptions) -> (CFComparisonResult _rv)"},
|
||||
{"CFStringFindWithOptions", (PyCFunction)CFStringRefObj_CFStringFindWithOptions, 1,
|
||||
"(CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags searchOptions) -> (Boolean _rv, CFRange result)"},
|
||||
{"CFStringCreateArrayWithFindResults", (PyCFunction)CFStringRefObj_CFStringCreateArrayWithFindResults, 1,
|
||||
"(CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags compareOptions) -> (CFArrayRef _rv)"},
|
||||
{"CFStringFind", (PyCFunction)CFStringRefObj_CFStringFind, 1,
|
||||
"(CFStringRef stringToFind, CFOptionFlags compareOptions) -> (CFRange _rv)"},
|
||||
{"CFStringHasPrefix", (PyCFunction)CFStringRefObj_CFStringHasPrefix, 1,
|
||||
|
|
@ -1497,6 +1730,8 @@ static PyMethodDef CFStringRefObj_methods[] = {
|
|||
"(CFStringRef suffix) -> (Boolean _rv)"},
|
||||
{"CFStringGetLineBounds", (PyCFunction)CFStringRefObj_CFStringGetLineBounds, 1,
|
||||
"(CFRange range) -> (CFIndex lineBeginIndex, CFIndex lineEndIndex, CFIndex contentsEndIndex)"},
|
||||
{"CFStringCreateArrayBySeparatingStrings", (PyCFunction)CFStringRefObj_CFStringCreateArrayBySeparatingStrings, 1,
|
||||
"(CFStringRef separatorString) -> (CFArrayRef _rv)"},
|
||||
{"CFStringGetIntValue", (PyCFunction)CFStringRefObj_CFStringGetIntValue, 1,
|
||||
"() -> (SInt32 _rv)"},
|
||||
{"CFStringGetDoubleValue", (PyCFunction)CFStringRefObj_CFStringGetDoubleValue, 1,
|
||||
|
|
@ -1505,6 +1740,12 @@ static PyMethodDef CFStringRefObj_methods[] = {
|
|||
"() -> (CFStringEncoding _rv)"},
|
||||
{"CFShowStr", (PyCFunction)CFStringRefObj_CFShowStr, 1,
|
||||
"() -> None"},
|
||||
{"CFURLCreateWithString", (PyCFunction)CFStringRefObj_CFURLCreateWithString, 1,
|
||||
"(CFURLRef baseURL) -> (CFURLRef _rv)"},
|
||||
{"CFURLCreateWithFileSystemPath", (PyCFunction)CFStringRefObj_CFURLCreateWithFileSystemPath, 1,
|
||||
"(CFURLPathStyle pathStyle, Boolean isDirectory) -> (CFURLRef _rv)"},
|
||||
{"CFURLCreateStringByReplacingPercentEscapes", (PyCFunction)CFStringRefObj_CFURLCreateStringByReplacingPercentEscapes, 1,
|
||||
"(CFStringRef charactersToLeaveEscaped) -> (CFStringRef _rv)"},
|
||||
{"CFStringGetString", (PyCFunction)CFStringRefObj_CFStringGetString, 1,
|
||||
"() -> (string _rv)"},
|
||||
{"CFStringGetUnicode", (PyCFunction)CFStringRefObj_CFStringGetUnicode, 1,
|
||||
|
|
@ -1897,6 +2138,25 @@ static void CFURLRefObj_dealloc(CFURLRefObject *self)
|
|||
PyMem_DEL(self);
|
||||
}
|
||||
|
||||
static PyObject *CFURLRefObj_CFURLCreateData(CFURLRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDataRef _rv;
|
||||
CFStringEncoding encoding;
|
||||
Boolean escapeWhitespace;
|
||||
if (!PyArg_ParseTuple(_args, "ll",
|
||||
&encoding,
|
||||
&escapeWhitespace))
|
||||
return NULL;
|
||||
_rv = CFURLCreateData((CFAllocatorRef)NULL,
|
||||
_self->ob_itself,
|
||||
encoding,
|
||||
escapeWhitespace);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDataRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CFURLRefObj_CFURLCopyAbsoluteURL(CFURLRefObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2115,6 +2375,8 @@ static PyObject *CFURLRefObj_CFURLCopyFragment(CFURLRefObject *_self, PyObject *
|
|||
}
|
||||
|
||||
static PyMethodDef CFURLRefObj_methods[] = {
|
||||
{"CFURLCreateData", (PyCFunction)CFURLRefObj_CFURLCreateData, 1,
|
||||
"(CFStringEncoding encoding, Boolean escapeWhitespace) -> (CFDataRef _rv)"},
|
||||
{"CFURLCopyAbsoluteURL", (PyCFunction)CFURLRefObj_CFURLCopyAbsoluteURL, 1,
|
||||
"() -> (CFURLRef _rv)"},
|
||||
{"CFURLGetString", (PyCFunction)CFURLRefObj_CFURLGetString, 1,
|
||||
|
|
@ -2262,22 +2524,6 @@ static PyObject *CF_CFArrayGetTypeID(PyObject *_self, PyObject *_args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFArrayCreateCopy(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFArrayRef _rv;
|
||||
CFArrayRef srcArray;
|
||||
PyMac_PRECHECK(CFArrayCreateCopy);
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFArrayRefObj_Convert, &srcArray))
|
||||
return NULL;
|
||||
_rv = CFArrayCreateCopy((CFAllocatorRef)NULL,
|
||||
srcArray);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFArrayRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFArrayCreateMutable(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2368,22 +2614,6 @@ static PyObject *CF_CFDataCreateWithBytesNoCopy(PyObject *_self, PyObject *_args
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFDataCreateCopy(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDataRef _rv;
|
||||
CFDataRef data;
|
||||
PyMac_PRECHECK(CFDataCreateCopy);
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFDataRefObj_Convert, &data))
|
||||
return NULL;
|
||||
_rv = CFDataCreateCopy((CFAllocatorRef)NULL,
|
||||
data);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDataRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFDataCreateMutable(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2432,22 +2662,6 @@ static PyObject *CF_CFDictionaryGetTypeID(PyObject *_self, PyObject *_args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFDictionaryCreateCopy(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDictionaryRef _rv;
|
||||
CFDictionaryRef dict;
|
||||
PyMac_PRECHECK(CFDictionaryCreateCopy);
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFDictionaryRefObj_Convert, &dict))
|
||||
return NULL;
|
||||
_rv = CFDictionaryCreateCopy((CFAllocatorRef)NULL,
|
||||
dict);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDictionaryRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFDictionaryCreateMutable(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2576,41 +2790,6 @@ static PyObject *CF_CFStringCreateWithCStringNoCopy(PyObject *_self, PyObject *_
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateWithSubstring(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFStringRef str;
|
||||
CFRange range;
|
||||
PyMac_PRECHECK(CFStringCreateWithSubstring);
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CFStringRefObj_Convert, &str,
|
||||
CFRange_Convert, &range))
|
||||
return NULL;
|
||||
_rv = CFStringCreateWithSubstring((CFAllocatorRef)NULL,
|
||||
str,
|
||||
range);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateCopy(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFStringRef theString;
|
||||
PyMac_PRECHECK(CFStringCreateCopy);
|
||||
if (!PyArg_ParseTuple(_args, "O&",
|
||||
CFStringRefObj_Convert, &theString))
|
||||
return NULL;
|
||||
_rv = CFStringCreateCopy((CFAllocatorRef)NULL,
|
||||
theString);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateMutable(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2672,47 +2851,6 @@ static PyObject *CF_CFStringCreateWithBytes(PyObject *_self, PyObject *_args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateFromExternalRepresentation(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFDataRef data;
|
||||
CFStringEncoding encoding;
|
||||
PyMac_PRECHECK(CFStringCreateFromExternalRepresentation);
|
||||
if (!PyArg_ParseTuple(_args, "O&l",
|
||||
CFDataRefObj_Convert, &data,
|
||||
&encoding))
|
||||
return NULL;
|
||||
_rv = CFStringCreateFromExternalRepresentation((CFAllocatorRef)NULL,
|
||||
data,
|
||||
encoding);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateExternalRepresentation(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDataRef _rv;
|
||||
CFStringRef theString;
|
||||
CFStringEncoding encoding;
|
||||
UInt8 lossByte;
|
||||
PyMac_PRECHECK(CFStringCreateExternalRepresentation);
|
||||
if (!PyArg_ParseTuple(_args, "O&lb",
|
||||
CFStringRefObj_Convert, &theString,
|
||||
&encoding,
|
||||
&lossByte))
|
||||
return NULL;
|
||||
_rv = CFStringCreateExternalRepresentation((CFAllocatorRef)NULL,
|
||||
theString,
|
||||
encoding,
|
||||
lossByte);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDataRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringGetSystemEncoding(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2744,69 +2882,6 @@ static PyObject *CF_CFStringGetMaximumSizeForEncoding(PyObject *_self, PyObject
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateArrayWithFindResults(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFArrayRef _rv;
|
||||
CFStringRef theString;
|
||||
CFStringRef stringToFind;
|
||||
CFRange rangeToSearch;
|
||||
CFOptionFlags compareOptions;
|
||||
PyMac_PRECHECK(CFStringCreateArrayWithFindResults);
|
||||
if (!PyArg_ParseTuple(_args, "O&O&O&l",
|
||||
CFStringRefObj_Convert, &theString,
|
||||
CFStringRefObj_Convert, &stringToFind,
|
||||
CFRange_Convert, &rangeToSearch,
|
||||
&compareOptions))
|
||||
return NULL;
|
||||
_rv = CFStringCreateArrayWithFindResults((CFAllocatorRef)NULL,
|
||||
theString,
|
||||
stringToFind,
|
||||
rangeToSearch,
|
||||
compareOptions);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFArrayRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateByCombiningStrings(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFArrayRef theArray;
|
||||
CFStringRef separatorString;
|
||||
PyMac_PRECHECK(CFStringCreateByCombiningStrings);
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CFArrayRefObj_Convert, &theArray,
|
||||
CFStringRefObj_Convert, &separatorString))
|
||||
return NULL;
|
||||
_rv = CFStringCreateByCombiningStrings((CFAllocatorRef)NULL,
|
||||
theArray,
|
||||
separatorString);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringCreateArrayBySeparatingStrings(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFArrayRef _rv;
|
||||
CFStringRef theString;
|
||||
CFStringRef separatorString;
|
||||
PyMac_PRECHECK(CFStringCreateArrayBySeparatingStrings);
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CFStringRefObj_Convert, &theString,
|
||||
CFStringRefObj_Convert, &separatorString))
|
||||
return NULL;
|
||||
_rv = CFStringCreateArrayBySeparatingStrings((CFAllocatorRef)NULL,
|
||||
theString,
|
||||
separatorString);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFArrayRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFStringIsEncodingAvailable(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
|
|
@ -2966,110 +3041,6 @@ static PyObject *CF_CFURLCreateWithBytes(PyObject *_self, PyObject *_args)
|
|||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFURLCreateData(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFDataRef _rv;
|
||||
CFURLRef url;
|
||||
CFStringEncoding encoding;
|
||||
Boolean escapeWhitespace;
|
||||
PyMac_PRECHECK(CFURLCreateData);
|
||||
if (!PyArg_ParseTuple(_args, "O&ll",
|
||||
CFURLRefObj_Convert, &url,
|
||||
&encoding,
|
||||
&escapeWhitespace))
|
||||
return NULL;
|
||||
_rv = CFURLCreateData((CFAllocatorRef)NULL,
|
||||
url,
|
||||
encoding,
|
||||
escapeWhitespace);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFDataRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFURLCreateWithString(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFURLRef _rv;
|
||||
CFStringRef URLString;
|
||||
CFURLRef baseURL;
|
||||
PyMac_PRECHECK(CFURLCreateWithString);
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CFStringRefObj_Convert, &URLString,
|
||||
OptionalCFURLRefObj_Convert, &baseURL))
|
||||
return NULL;
|
||||
_rv = CFURLCreateWithString((CFAllocatorRef)NULL,
|
||||
URLString,
|
||||
baseURL);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFURLRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFURLCreateWithFileSystemPath(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFURLRef _rv;
|
||||
CFStringRef filePath;
|
||||
CFURLPathStyle pathStyle;
|
||||
Boolean isDirectory;
|
||||
PyMac_PRECHECK(CFURLCreateWithFileSystemPath);
|
||||
if (!PyArg_ParseTuple(_args, "O&ll",
|
||||
CFStringRefObj_Convert, &filePath,
|
||||
&pathStyle,
|
||||
&isDirectory))
|
||||
return NULL;
|
||||
_rv = CFURLCreateWithFileSystemPath((CFAllocatorRef)NULL,
|
||||
filePath,
|
||||
pathStyle,
|
||||
isDirectory);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFURLRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFURLCreateStringWithFileSystemPath(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFURLRef anURL;
|
||||
CFURLPathStyle pathStyle;
|
||||
Boolean resolveAgainstBase;
|
||||
PyMac_PRECHECK(CFURLCreateStringWithFileSystemPath);
|
||||
if (!PyArg_ParseTuple(_args, "O&ll",
|
||||
CFURLRefObj_Convert, &anURL,
|
||||
&pathStyle,
|
||||
&resolveAgainstBase))
|
||||
return NULL;
|
||||
_rv = CFURLCreateStringWithFileSystemPath((CFAllocatorRef)NULL,
|
||||
anURL,
|
||||
pathStyle,
|
||||
resolveAgainstBase);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyObject *CF_CFURLCreateStringByReplacingPercentEscapes(PyObject *_self, PyObject *_args)
|
||||
{
|
||||
PyObject *_res = NULL;
|
||||
CFStringRef _rv;
|
||||
CFStringRef originalString;
|
||||
CFStringRef charactersToLeaveEscaped;
|
||||
PyMac_PRECHECK(CFURLCreateStringByReplacingPercentEscapes);
|
||||
if (!PyArg_ParseTuple(_args, "O&O&",
|
||||
CFStringRefObj_Convert, &originalString,
|
||||
CFStringRefObj_Convert, &charactersToLeaveEscaped))
|
||||
return NULL;
|
||||
_rv = CFURLCreateStringByReplacingPercentEscapes((CFAllocatorRef)NULL,
|
||||
originalString,
|
||||
charactersToLeaveEscaped);
|
||||
_res = Py_BuildValue("O&",
|
||||
CFStringRefObj_New, _rv);
|
||||
return _res;
|
||||
}
|
||||
|
||||
static PyMethodDef CF_methods[] = {
|
||||
{"CFAllocatorGetTypeID", (PyCFunction)CF_CFAllocatorGetTypeID, 1,
|
||||
"() -> (CFTypeID _rv)"},
|
||||
|
|
@ -3079,8 +3050,6 @@ static PyMethodDef CF_methods[] = {
|
|||
"(CFTypeID theType) -> (CFStringRef _rv)"},
|
||||
{"CFArrayGetTypeID", (PyCFunction)CF_CFArrayGetTypeID, 1,
|
||||
"() -> (CFTypeID _rv)"},
|
||||
{"CFArrayCreateCopy", (PyCFunction)CF_CFArrayCreateCopy, 1,
|
||||
"(CFArrayRef srcArray) -> (CFArrayRef _rv)"},
|
||||
{"CFArrayCreateMutable", (PyCFunction)CF_CFArrayCreateMutable, 1,
|
||||
"(CFIndex capacity) -> (CFMutableArrayRef _rv)"},
|
||||
{"CFArrayCreateMutableCopy", (PyCFunction)CF_CFArrayCreateMutableCopy, 1,
|
||||
|
|
@ -3091,16 +3060,12 @@ static PyMethodDef CF_methods[] = {
|
|||
"(Buffer bytes) -> (CFDataRef _rv)"},
|
||||
{"CFDataCreateWithBytesNoCopy", (PyCFunction)CF_CFDataCreateWithBytesNoCopy, 1,
|
||||
"(Buffer bytes) -> (CFDataRef _rv)"},
|
||||
{"CFDataCreateCopy", (PyCFunction)CF_CFDataCreateCopy, 1,
|
||||
"(CFDataRef data) -> (CFDataRef _rv)"},
|
||||
{"CFDataCreateMutable", (PyCFunction)CF_CFDataCreateMutable, 1,
|
||||
"(CFIndex capacity) -> (CFMutableDataRef _rv)"},
|
||||
{"CFDataCreateMutableCopy", (PyCFunction)CF_CFDataCreateMutableCopy, 1,
|
||||
"(CFIndex capacity, CFDataRef data) -> (CFMutableDataRef _rv)"},
|
||||
{"CFDictionaryGetTypeID", (PyCFunction)CF_CFDictionaryGetTypeID, 1,
|
||||
"() -> (CFTypeID _rv)"},
|
||||
{"CFDictionaryCreateCopy", (PyCFunction)CF_CFDictionaryCreateCopy, 1,
|
||||
"(CFDictionaryRef dict) -> (CFDictionaryRef _rv)"},
|
||||
{"CFDictionaryCreateMutable", (PyCFunction)CF_CFDictionaryCreateMutable, 1,
|
||||
"(CFIndex capacity) -> (CFMutableDictionaryRef _rv)"},
|
||||
{"CFDictionaryCreateMutableCopy", (PyCFunction)CF_CFDictionaryCreateMutableCopy, 1,
|
||||
|
|
@ -3115,30 +3080,16 @@ static PyMethodDef CF_methods[] = {
|
|||
"(StringPtr pStr, CFStringEncoding encoding) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateWithCStringNoCopy", (PyCFunction)CF_CFStringCreateWithCStringNoCopy, 1,
|
||||
"(char* cStr, CFStringEncoding encoding) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateWithSubstring", (PyCFunction)CF_CFStringCreateWithSubstring, 1,
|
||||
"(CFStringRef str, CFRange range) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateCopy", (PyCFunction)CF_CFStringCreateCopy, 1,
|
||||
"(CFStringRef theString) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateMutable", (PyCFunction)CF_CFStringCreateMutable, 1,
|
||||
"(CFIndex maxLength) -> (CFMutableStringRef _rv)"},
|
||||
{"CFStringCreateMutableCopy", (PyCFunction)CF_CFStringCreateMutableCopy, 1,
|
||||
"(CFIndex maxLength, CFStringRef theString) -> (CFMutableStringRef _rv)"},
|
||||
{"CFStringCreateWithBytes", (PyCFunction)CF_CFStringCreateWithBytes, 1,
|
||||
"(Buffer bytes, CFStringEncoding encoding, Boolean isExternalRepresentation) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateFromExternalRepresentation", (PyCFunction)CF_CFStringCreateFromExternalRepresentation, 1,
|
||||
"(CFDataRef data, CFStringEncoding encoding) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateExternalRepresentation", (PyCFunction)CF_CFStringCreateExternalRepresentation, 1,
|
||||
"(CFStringRef theString, CFStringEncoding encoding, UInt8 lossByte) -> (CFDataRef _rv)"},
|
||||
{"CFStringGetSystemEncoding", (PyCFunction)CF_CFStringGetSystemEncoding, 1,
|
||||
"() -> (CFStringEncoding _rv)"},
|
||||
{"CFStringGetMaximumSizeForEncoding", (PyCFunction)CF_CFStringGetMaximumSizeForEncoding, 1,
|
||||
"(CFIndex length, CFStringEncoding encoding) -> (CFIndex _rv)"},
|
||||
{"CFStringCreateArrayWithFindResults", (PyCFunction)CF_CFStringCreateArrayWithFindResults, 1,
|
||||
"(CFStringRef theString, CFStringRef stringToFind, CFRange rangeToSearch, CFOptionFlags compareOptions) -> (CFArrayRef _rv)"},
|
||||
{"CFStringCreateByCombiningStrings", (PyCFunction)CF_CFStringCreateByCombiningStrings, 1,
|
||||
"(CFArrayRef theArray, CFStringRef separatorString) -> (CFStringRef _rv)"},
|
||||
{"CFStringCreateArrayBySeparatingStrings", (PyCFunction)CF_CFStringCreateArrayBySeparatingStrings, 1,
|
||||
"(CFStringRef theString, CFStringRef separatorString) -> (CFArrayRef _rv)"},
|
||||
{"CFStringIsEncodingAvailable", (PyCFunction)CF_CFStringIsEncodingAvailable, 1,
|
||||
"(CFStringEncoding encoding) -> (Boolean _rv)"},
|
||||
{"CFStringGetNameOfEncoding", (PyCFunction)CF_CFStringGetNameOfEncoding, 1,
|
||||
|
|
@ -3159,16 +3110,6 @@ static PyMethodDef CF_methods[] = {
|
|||
"() -> (CFTypeID _rv)"},
|
||||
{"CFURLCreateWithBytes", (PyCFunction)CF_CFURLCreateWithBytes, 1,
|
||||
"(Buffer URLBytes, CFStringEncoding encoding, CFURLRef baseURL) -> (CFURLRef _rv)"},
|
||||
{"CFURLCreateData", (PyCFunction)CF_CFURLCreateData, 1,
|
||||
"(CFURLRef url, CFStringEncoding encoding, Boolean escapeWhitespace) -> (CFDataRef _rv)"},
|
||||
{"CFURLCreateWithString", (PyCFunction)CF_CFURLCreateWithString, 1,
|
||||
"(CFStringRef URLString, CFURLRef baseURL) -> (CFURLRef _rv)"},
|
||||
{"CFURLCreateWithFileSystemPath", (PyCFunction)CF_CFURLCreateWithFileSystemPath, 1,
|
||||
"(CFStringRef filePath, CFURLPathStyle pathStyle, Boolean isDirectory) -> (CFURLRef _rv)"},
|
||||
{"CFURLCreateStringWithFileSystemPath", (PyCFunction)CF_CFURLCreateStringWithFileSystemPath, 1,
|
||||
"(CFURLRef anURL, CFURLPathStyle pathStyle, Boolean resolveAgainstBase) -> (CFStringRef _rv)"},
|
||||
{"CFURLCreateStringByReplacingPercentEscapes", (PyCFunction)CF_CFURLCreateStringByReplacingPercentEscapes, 1,
|
||||
"(CFStringRef originalString, CFStringRef charactersToLeaveEscaped) -> (CFStringRef _rv)"},
|
||||
{NULL, NULL, 0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,12 @@ class MyScanner(Scanner_OSX):
|
|||
if t in OBJECTS and m == "InMode":
|
||||
classname = "Method"
|
||||
listname = t + "_methods"
|
||||
# Special case for the silly first AllocatorRef argument
|
||||
if t == 'CFAllocatorRef' and m == 'InMode' and len(arglist) > 1:
|
||||
t, n, m = arglist[1]
|
||||
if t in OBJECTS and m == "InMode":
|
||||
classname = "MethodSkipArg1"
|
||||
listname = t + "_methods"
|
||||
return classname, listname
|
||||
|
||||
def writeinitialdefs(self):
|
||||
|
|
@ -85,9 +91,7 @@ class MyScanner(Scanner_OSX):
|
|||
"CFStringGetCharactersPtr",
|
||||
"CFStringGetCString",
|
||||
"CFStringGetCharacters",
|
||||
# OSX only, to be done
|
||||
## "CFURLCreateWithFileSystemPath",
|
||||
## "CFURLCreateStringWithFileSystemPath",
|
||||
"CFURLCreateStringWithFileSystemPath", # Gone in later releases
|
||||
]
|
||||
|
||||
def makegreylist(self):
|
||||
|
|
|
|||
|
|
@ -17,11 +17,38 @@ OUTPUTFILE = MODNAME + "module.c" # The file generated by this program
|
|||
|
||||
from macsupport import *
|
||||
|
||||
# Special case generator for the functions that have an AllocatorRef first argument,
|
||||
# which we skip anyway, and the object as the second arg.
|
||||
class MethodSkipArg1(MethodGenerator):
|
||||
"""Similar to MethodGenerator, but has self as last argument"""
|
||||
|
||||
def parseArgumentList(self, args):
|
||||
if len(args) < 2:
|
||||
raise ValueError, "MethodSkipArg1 expects at least 2 args"
|
||||
a0, a1, args = args[0], args[1], args[2:]
|
||||
t0, n0, m0 = a0
|
||||
if t0 != "CFAllocatorRef" and m0 != InMode:
|
||||
raise ValueError, "MethodSkipArg1 should have dummy AllocatorRef first arg"
|
||||
t1, n1, m1 = a1
|
||||
if m1 != InMode:
|
||||
raise ValueError, "method's 'self' must be 'InMode'"
|
||||
dummy = Variable(t0, n0, m0)
|
||||
self.argumentList.append(dummy)
|
||||
self.itself = Variable(t1, "_self->ob_itself", SelfMode)
|
||||
self.argumentList.append(self.itself)
|
||||
FunctionGenerator.parseArgumentList(self, args)
|
||||
|
||||
|
||||
# Create the type objects
|
||||
|
||||
includestuff = includestuff + """
|
||||
#ifdef WITHOUT_FRAMEWORKS
|
||||
#include <CoreFoundation.h>
|
||||
#include <CFBase.h>
|
||||
#include <CFArray.h>
|
||||
#include <CFData.h>
|
||||
#include <CFDictionary.h>
|
||||
#include <CFString.h>
|
||||
#include <CFURL.h>
|
||||
#else
|
||||
#include <CoreFoundation.h>
|
||||
#endif
|
||||
|
|
@ -31,6 +58,8 @@ staticforward PyObject *CFTypeRefObj_New(CFTypeRef);
|
|||
staticforward int CFTypeRefObj_Convert(PyObject *, CFTypeRef *);
|
||||
staticforward PyObject *CFStringRefObj_New(CFStringRef);
|
||||
staticforward int CFStringRefObj_Convert(PyObject *, CFStringRef *);
|
||||
staticforward PyObject *CFURLRefObj_New(CFURLRef);
|
||||
staticforward int CFURLRefObj_Convert(PyObject *, CFURLRef *);
|
||||
|
||||
staticforward int CFURLRefObj_Convert(PyObject *, CFURLRef *);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue