// This file declares the IServerSecurity Interface and Gateway for Python.
// Generated by makegw.py
// ---------------------------------------------------
//
// Interface Declaration

class PyIServerSecurity : public PyIUnknown
{
public:
	MAKE_PYCOM_CTOR(PyIServerSecurity);
	static IServerSecurity *GetI(PyObject *self);
	static PyComTypeObject type;

	// The Python methods
	static PyObject *QueryBlanket(PyObject *self, PyObject *args);
	static PyObject *ImpersonateClient(PyObject *self, PyObject *args);
	static PyObject *RevertToSelf(PyObject *self, PyObject *args);
	static PyObject *IsImpersonating(PyObject *self, PyObject *args);

protected:
	PyIServerSecurity(IUnknown *pdisp);
	~PyIServerSecurity();
};
// ---------------------------------------------------
//
// Gateway Declaration

class PyGServerSecurity : public PyGatewayBase, public IServerSecurity
{
protected:
	PyGServerSecurity(PyObject *instance) : PyGatewayBase(instance) { ; }
	PYGATEWAY_MAKE_SUPPORT2(PyGServerSecurity, IServerSecurity, IID_IServerSecurity, PyGatewayBase)



	// IServerSecurity
	STDMETHOD(QueryBlanket)(
		DWORD * pAuthnSvc,
		DWORD * pAuthzSvc,
		OLECHAR ** pServerPrincName,
		DWORD * pAuthnLevel,
		DWORD * pImpLevel,
		void ** pPrivs,
		DWORD * pCapabilities);

	STDMETHOD(ImpersonateClient)(
		void);

	STDMETHOD(RevertToSelf)(
		void);

	virtual BOOL STDMETHODCALLTYPE IsImpersonating(
		void);

};
