// Copyright (c) 2010 Martin Knafve / hMailServer.com. // http://www.hmailserver.com #include "stdafx.h" #include "COMError.h" #include "InterfaceWhiteListAddress.h" STDMETHODIMP InterfaceWhiteListAddress::Save() { try { if (!object_) return GetAccessDenied(); if (!authentication_->GetIsServerAdmin()) return authentication_->GetAccessDenied(); if (HM::PersistentWhiteListAddress::SaveObject(object_)) { // Add to parent collection AddToParentCollection(); } return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::Delete() { try { if (!object_) return GetAccessDenied(); if (!authentication_->GetIsServerAdmin()) return authentication_->GetAccessDenied(); if (!parent_collection_) return HM::PersistentWhiteListAddress::DeleteObject(object_) ? S_OK : S_FALSE; parent_collection_->DeleteItemByDBID(object_->GetID()); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::get_ID(long *pVal) { try { if (!object_) return GetAccessDenied(); *pVal = (long) object_->GetID(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::put_LowerIPAddress(BSTR newVal) { try { if (!object_) return GetAccessDenied(); object_->SetLowerIPAddress(newVal); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::get_LowerIPAddress(BSTR *pVal) { try { if (!object_) return GetAccessDenied(); *pVal = object_->GetLowerIPAddressString().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::put_UpperIPAddress(BSTR newVal) { try { if (!object_) return GetAccessDenied(); object_->SetUpperIPAddress(newVal); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::get_UpperIPAddress(BSTR *pVal) { try { if (!object_) return GetAccessDenied(); *pVal = object_->GetUpperIPAddressString().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::put_Description(BSTR newVal) { try { if (!object_) return GetAccessDenied(); object_->SetDescription(newVal); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::get_Description(BSTR *pVal) { try { if (!object_) return GetAccessDenied(); *pVal = object_->GetDescription().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::put_EmailAddress(BSTR newVal) { try { if (!object_) return GetAccessDenied(); object_->SetEMailAddress(newVal); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } } STDMETHODIMP InterfaceWhiteListAddress::get_EmailAddress(BSTR *pVal) { try { if (!object_) return GetAccessDenied(); *pVal = object_->GetEmailAddress().AllocSysString(); return S_OK; } catch (...) { return COMError::GenerateGenericMessage(); } }