/* * Box Social™ * http://boxsocial.net/ * Copyright © 2007, David Lachlan Smith * * $Id:$ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Text; using System.Web; using BoxSocial.Internals; using BoxSocial.IO; namespace BoxSocial.Internals { public interface IPermissibleItem { /// /// Access Object /// Access Access { get; } /// /// Owner of the item /// Primitive Owner { get; } /// /// List of actions that require elevated permissions for an item /// List AclPermissions { get; } bool IsItemGroupMember(User viewer, ItemKey key); long Id { get; } ItemKey ItemKey { get; } string Namespace { get; } string Uri { get; } IPermissibleItem PermissiveParent { get; } string DisplayTitle { get; } /// /// When all fall throughs to parent levels fail, it uses the default /// /// bool GetDefaultCan(string permission); } }