From: Daniel Kouril Date: Wed, 30 Mar 2011 01:50:52 +0000 (-0400) Subject: Moved implentation of constructor/destructor inside the class to make it link (by... X-Git-Url: http://www.project-moonshot.org/gitweb/?p=moonshot-firefox.git;a=commitdiff_plain;h=fa5af4ad005b29a3cbf770750fb3569f27e5b78e Moved implentation of constructor/destructor inside the class to make it link (by kicking off the vtable) --- diff --git a/nsMoonshotSessionState.cpp b/nsMoonshotSessionState.cpp index 127d08e..d458dfc 100644 --- a/nsMoonshotSessionState.cpp +++ b/nsMoonshotSessionState.cpp @@ -1,5 +1,6 @@ #include "nsMoonshotSessionState.h" +#if 0 nsMoonshotSessionState::nsMoonshotSessionState() { gss_ctx = GSS_C_NO_CONTEXT; @@ -21,6 +22,7 @@ nsMoonshotSessionState::~nsMoonshotSessionState() gss_cred = GSS_C_NO_CREDENTIAL; gss_state = GSS_CTX_EMPTY; } +#endif void nsMoonshotSessionState::Reset() @@ -33,4 +35,4 @@ nsMoonshotSessionState::Reset() gss_state = GSS_CTX_EMPTY; } -NS_IMPL_ISUPPORTS0(nsMoonshotSessionState) +//NS_IMPL_ISUPPORTS0(nsMoonshotSessionState) diff --git a/nsMoonshotSessionState.h b/nsMoonshotSessionState.h index 7e623d8..42caaaf 100644 --- a/nsMoonshotSessionState.h +++ b/nsMoonshotSessionState.h @@ -10,13 +10,30 @@ typedef enum { GSS_CTX_ESTABLISHED } gss_state_t; -class nsMoonshotSessionState : public nsISupports +class NS_EXPORT +nsMoonshotSessionState : public nsISupports { public: NS_DECL_ISUPPORTS - nsMoonshotSessionState(); - virtual ~nsMoonshotSessionState(); + nsMoonshotSessionState() { + gss_ctx = GSS_C_NO_CONTEXT; + gss_state = GSS_CTX_EMPTY; + gss_cred = GSS_C_NO_CREDENTIAL; + } + + virtual ~nsMoonshotSessionState() { + OM_uint32 min_stat; + + if (gss_ctx != GSS_C_NO_CONTEXT) + gss_delete_sec_context(&min_stat, &gss_ctx, GSS_C_NO_BUFFER); + if (gss_cred != GSS_C_NO_CREDENTIAL) + gss_release_cred(&min_stat, &gss_cred); + gss_ctx = GSS_C_NO_CONTEXT; + gss_cred = GSS_C_NO_CREDENTIAL; + gss_state = GSS_CTX_EMPTY; + } + void Reset(); gss_state_t gss_state;