Welcome, guest | Sign In | My Account | Store | Cart
class SessionStatusListenerCallback : public SessionStatusListener
{
public:
	SessionStatusListenerCallback(PyObject *pyObject)
		: self(pyObject) {}

	SessionStatusListenerCallback(PyObject* pyObject, const SessionStatusListener& listener)
		: self(pyObject), SessionStatusListener(listener) {}

	void onSessionStatusChanged(O2GSessionStatus status)
	{
		// GIL state handler
		PyGILState_STATE gstate;
		gstate = PyGILState_Ensure();
		// Python callback
		call_method<void>(self, "onSessionStatusChanged", status);
		// GIL handler release
		PyGILState_Release(gstate);
	}
	
	void onLoginFailed(const char* error)
	{
		// GIL state handler
		PyGILState_STATE gstate;
		gstate = PyGILState_Ensure();
		// Python callback
		call_method<void>(self, "onLoginFailed", error);
		// GIL handler release
		PyGILState_Release(gstate);
	}
private:
	PyObject* const self;
};

History