// Copyright (c) 2010 Martin Knafve / hMailServer.com. // http://www.hmailserver.com #pragma once namespace HM { class ACLPermission; enum PersistenceMode; class PersistentACLPermission { public: PersistentACLPermission(void); ~PersistentACLPermission(void); static bool Validate(std::shared_ptr pObject); static bool DeleteOwnedByAccount(__int64 iAccountID); static bool DeleteOwnedByGroup(__int64 groupID); static bool DeleteObject(std::shared_ptr pObject); static bool SaveObject(std::shared_ptr pObject); static bool SaveObject(std::shared_ptr pObject, String &errorMessage, PersistenceMode mode); static bool ReadObject(std::shared_ptr pObject, std::shared_ptr pRS); }; }