コード例 #1
0
// @pymethod |PyIBackgroundCopyJob|SetProxySettings|Description of SetProxySettings.
PyObject *PyIBackgroundCopyJob::SetProxySettings(PyObject *self, PyObject *args)
{
	IBackgroundCopyJob *pIBCJ = GetI(self);
	if ( pIBCJ == NULL )
		return NULL;
	BG_JOB_PROXY_USAGE ProxyUsage;
	// @pyparm int|ProxyUsage||Description for ProxyUsage
	WCHAR * ProxyList;
	PyObject *obProxyList;
	// @pyparm unicode|ProxyList||Description for ProxyList
	WCHAR * ProxyBypassList;
	PyObject *obProxyBypassList;
	// @pyparm unicode|ProxyBypassList||Description for ProxyBypassList
	if ( !PyArg_ParseTuple(args, "lOO:SetProxySettings", &ProxyUsage, &obProxyList, &obProxyBypassList) )
		return NULL;
	BOOL bPythonIsHappy = TRUE;
	if (bPythonIsHappy && !PyWinObject_AsWCHAR( obProxyList, &ProxyList, TRUE )) bPythonIsHappy = FALSE;
	if (bPythonIsHappy && !PyWinObject_AsWCHAR( obProxyBypassList, &ProxyBypassList, TRUE )) bPythonIsHappy = FALSE;
	if (!bPythonIsHappy) return NULL;
	HRESULT hr;
	PY_INTERFACE_PRECALL;
	hr = pIBCJ->SetProxySettings( ProxyUsage, ProxyList, ProxyBypassList );
	PyWinObject_FreeWCHAR(ProxyList);
	PyWinObject_FreeWCHAR(ProxyBypassList);
	PY_INTERFACE_POSTCALL;
	if ( FAILED(hr) )
		return PyCom_BuildPyException(hr, pIBCJ, IID_IBackgroundCopyJob );
	Py_INCREF(Py_None);
	return Py_None;
}