Пример #1
0
 /// <summary>
 /// Creates a new resource demand
 /// </summary>
 /// <param name="capability"></param>
 /// <param name="demand"></param>
 public ServiceResourceCapability(ResourceCapabilityType capability, String[] demand)
 {
     this.Capability = capability;
     this.Demand     = demand;
 }
Пример #2
0
        /// <summary>
        /// Conver the ResourceCapbility into a collection of service metadata capapbilities
        /// </summary>
        /// <param name="me">The resource capability type to convert</param>
        /// <param name="getDemandsFunc">A callback which fetches the policies the resource requires.</param>
        /// <returns>The collection of metadata capabilities to pass to the OPTIONS call</returns>
        public static IEnumerable <ServiceResourceCapability> ToResourceCapabilityStatement(this ResourceCapabilityType me, Func <ResourceCapabilityType, String[]> getDemandsFunc)
        {
            var caps = new List <ServiceResourceCapability>();

            if (me.HasFlag(ResourceCapabilityType.Create))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.Create, getDemandsFunc(ResourceCapabilityType.Create)));
            }
            if (me.HasFlag(ResourceCapabilityType.CreateOrUpdate))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.CreateOrUpdate, getDemandsFunc(ResourceCapabilityType.CreateOrUpdate)));
            }
            if (me.HasFlag(ResourceCapabilityType.Delete))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.Delete, getDemandsFunc(ResourceCapabilityType.Delete)));
            }
            if (me.HasFlag(ResourceCapabilityType.Get))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.Get, getDemandsFunc(ResourceCapabilityType.Get)));
            }
            if (me.HasFlag(ResourceCapabilityType.GetVersion))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.GetVersion, getDemandsFunc(ResourceCapabilityType.GetVersion)));
            }
            if (me.HasFlag(ResourceCapabilityType.History))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.History, getDemandsFunc(ResourceCapabilityType.History)));
            }
            if (me.HasFlag(ResourceCapabilityType.Search))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.Search, getDemandsFunc(ResourceCapabilityType.Search)));
            }
            if (me.HasFlag(ResourceCapabilityType.Update))
            {
                caps.Add(new ServiceResourceCapability(ResourceCapabilityType.Update, getDemandsFunc(ResourceCapabilityType.Update)));
            }


            return(caps);
        }