// Copyright (c) 2010 Martin Knafve / hMailServer.com. // http://www.hmailserver.com #include "stdafx.h" #include "COMError.h" #include "InterfaceDiagnosticResult.h" STDMETHODIMP InterfaceDiagnosticResult::get_Name(BSTR *pVal) { try { if (!authentication_->GetIsServerAdmin()) return authentication_->GetAccessDenied(); *pVal = result_.GetName().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceDiagnosticResult::get_Description(BSTR *pVal) { try { if (!authentication_->GetIsServerAdmin()) return authentication_->GetAccessDenied(); *pVal = result_.GetDescription().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceDiagnosticResult::get_ExecutionDetails(BSTR *pVal) { try { if (!authentication_->GetIsServerAdmin()) return authentication_->GetAccessDenied(); *pVal = result_.GetDetails().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceDiagnosticResult::get_Result(VARIANT_BOOL *pVal) { try { if (!authentication_->GetIsServerAdmin()) return authentication_->GetAccessDenied(); *pVal = result_.GetSuccess() ? VARIANT_TRUE : VARIANT_FALSE; return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } }