Skip to content

Commit

Permalink
Merge pull request #224 from veena-udayabhanu/preview
Browse files Browse the repository at this point in the history
Preview
  • Loading branch information
Abdelrahman Elogeel authored and Abdelrahman Elogeel committed Jul 3, 2013
2 parents f799d32 + 6ff105f commit 19c3f62
Show file tree
Hide file tree
Showing 499 changed files with 84,605 additions and 11,576 deletions.
4 changes: 2 additions & 2 deletions README.md
@@ -1,5 +1,5 @@
<h1>Windows Azure SDK for Windows 8 and .NET 4 (2.0.6.0)</h1>
<p>This SDK allows you to build Windows Azure applications that take advantage of
<h1>Windows Azure SDK for Windows 8 and .NET 4 (2.1.0.0-RC)</h1>
<p>This preview of SDK allows you to build Windows Azure applications that take advantage of
Azure scalable cloud computing resources: table and blob storage, messaging through
Service Bus, distributed caching through cache.</p>
<p>For documentation please see the
Expand Down
63 changes: 63 additions & 0 deletions microsoft-azure-api/Services/Storage/CustomDictionary.xml
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
=======================================================================================
<copyright file="CustomDictionary.xml" company="Microsoft">
Copyright 2012 Microsoft Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</copyright>
========================================================================================
-->

<Dictionary>
<Words>
<Recognized>
<Word>Auth</Word>
<Word>api</Word>
<Word>sas</Word>
<Word>dest</Word>
<Word>Acl</Word>
<Word>Md</Word>
<Word>Eq</Word>
<Word>Canonicalizer</Word>
<Word>Async</Word>
<Word>orderby</Word>
<Word>IBufferManager</Word>
<Word>DynamicTableEntity</Word>
<Word>GetDefaultBufferSize</Word>
<Word>ITableEntity</Word>
<Word>EndRead</Word>
<Word>TableQuery</Word>
<Word>EndFlush</Word>
<Word>EntityProperty</Word>
<Word>ExecuteQuery</Word>
<Word>CloudTable</Word>
<Word>CreateQuery</Word>
<Word>Etag</Word>
</Recognized>
<Compound>
<Term CompoundAlternate="TableQuery">Tablequery</Term>
<Term CompoundAlternate="EntityProperty">Entityproperty</Term>
<Term CompoundAlternate="ExecuteQuery">Executequery</Term>
<Term CompoundAlternate="CloudTable">Cloudtable</Term>
<Term CompoundAlternate="CreateQuery">Createquery</Term>
<Term CompoundAlternate="EndFlush">Endflush</Term>
<Term CompoundAlternate="BeginFlush">Beginflush</Term>
<Term CompoundAlternate="EndRead">Endread</Term>
<Term CompoundAlternate="NumberLess">Numberless</Term>
</Compound>
<DiscreteExceptions>
<Term>etag</Term>
<Term>Etag</Term>
</DiscreteExceptions>
</Words>
</Dictionary>
92 changes: 89 additions & 3 deletions microsoft-azure-api/Services/Storage/Lib/Common/AccessCondition.cs
Expand Up @@ -18,6 +18,7 @@
namespace Microsoft.WindowsAzure.Storage
{
using System;
using System.Diagnostics.CodeAnalysis;

/// <summary>
/// Represents a set of access conditions to be used for operations against the storage services.
Expand Down Expand Up @@ -88,6 +89,39 @@ public string IfNoneMatchETag
}
}

/// <summary>
/// Gets or sets a sequence number that the current sequence number of a page blob must be less than or equal to in order for the operation to proceed.
/// </summary>
/// <value>A sequence number, or null if no condition exists.</value>
/// <remarks>This condition only applies to page blobs.</remarks>
public long? IfSequenceNumberLessThanOrEqual
{
get;
set;
}

/// <summary>
/// Gets or sets a sequence number that the current sequence number of a page blob must be less than in order for the operation to proceed.
/// </summary>
/// <value>A sequence number, or null if no condition exists.</value>
/// <remarks>This condition only applies to page blobs.</remarks>
public long? IfSequenceNumberLessThan
{
get;
set;
}

/// <summary>
/// Gets or sets a sequence number that the current sequence number of a page blob must be equal to in order for the operation to proceed.
/// </summary>
/// <value>A sequence number, or null if no condition exists.</value>
/// <remarks>This condition only applies to page blobs.</remarks>
public long? IfSequenceNumberEqual
{
get;
set;
}

/// <summary>
/// Gets or sets a lease ID that must match the lease on a resource.
/// </summary>
Expand Down Expand Up @@ -128,6 +162,7 @@ public static AccessCondition GenerateEmptyCondition()
/// </summary>
/// <param name="etag">The ETag value that must be matched.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Match condition.</returns>
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "etag", Justification = "Reviewed: etag can be used for identifier names.")]
public static AccessCondition GenerateIfMatchCondition(string etag)
{
return new AccessCondition { IfMatchETag = etag };
Expand All @@ -137,7 +172,7 @@ public static AccessCondition GenerateIfMatchCondition(string etag)
/// Constructs an access condition such that an operation will be performed only if the resource has been
/// modified since the specified time.
/// </summary>
/// <param name="modifiedTime">The time that must be before the last modified time of the resource.</param>
/// <param name="modifiedTime">The time since which the resource must have been modified in order for the operation to proceed.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Modified-Since condition.</returns>
public static AccessCondition GenerateIfModifiedSinceCondition(DateTimeOffset modifiedTime)
{
Expand All @@ -152,7 +187,8 @@ public static AccessCondition GenerateIfModifiedSinceCondition(DateTimeOffset mo
/// <returns>An <c>AccessCondition</c> object that represents the If-None-Match condition.</returns>
/// <remarks>
/// If <c>"*"</c> is specified as the parameter then this condition requires that the resource does not exist.
/// </remarks>
/// </remarks>
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "etag", Justification = "Reviewed: etag can be used for identifier names.")]
public static AccessCondition GenerateIfNoneMatchCondition(string etag)
{
return new AccessCondition { IfNoneMatchETag = etag };
Expand All @@ -162,13 +198,46 @@ public static AccessCondition GenerateIfNoneMatchCondition(string etag)
/// Constructs an access condition such that an operation will be performed only if the resource has not been
/// modified since the specified time.
/// </summary>
/// <param name="modifiedTime">The time that must not be before the last modified time of the resource.</param>
/// <param name="modifiedTime">The time since which the resource must not have been modified in order for the operation to proceed.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Unmodified-Since condition.</returns>
public static AccessCondition GenerateIfNotModifiedSinceCondition(DateTimeOffset modifiedTime)
{
return new AccessCondition { IfNotModifiedSinceTime = modifiedTime };
}

/// <summary>
/// Constructs an access condition such that an operation will be performed only if resource's current sequence
/// number is less than or equal to the specified value.
/// </summary>
/// <param name="sequenceNumber">The value that the current sequence number of the resource must be less than or equal to.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Sequence-Number-LE condition.</returns>
public static AccessCondition GenerateIfSequenceNumberLessThanOrEqualCondition(long sequenceNumber)
{
return new AccessCondition { IfSequenceNumberLessThanOrEqual = sequenceNumber };
}

/// <summary>
/// Constructs an access condition such that an operation will be performed only if resource's current sequence
/// number is less than the specified value.
/// </summary>
/// <param name="sequenceNumber">The value that the current sequence number of the resource must be less than.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Sequence-Number-LT condition.</returns>
public static AccessCondition GenerateIfSequenceNumberLessThanCondition(long sequenceNumber)
{
return new AccessCondition { IfSequenceNumberLessThan = sequenceNumber };
}

/// <summary>
/// Constructs an access condition such that an operation will be performed only if resource's current sequence
/// number is equal to the specified value.
/// </summary>
/// <param name="sequenceNumber">The value that the current sequence number of the resource must be equal to.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Sequence-Number-EQ condition.</returns>
public static AccessCondition GenerateIfSequenceNumberEqualCondition(long sequenceNumber)
{
return new AccessCondition { IfSequenceNumberEqual = sequenceNumber };
}

/// <summary>
/// Constructs an access condition such that an operation will be performed only if the lease ID on the
/// resource matches the specified lease ID.
Expand All @@ -179,5 +248,22 @@ public static AccessCondition GenerateLeaseCondition(string leaseId)
{
return new AccessCondition { LeaseId = leaseId };
}

/// <summary>
/// Constructs an access condition such that an operation will be performed only if the resource's ETag value
/// matches the specified ETag value and the lease ID on the resource matches the lease ID specified in
/// the given access condition.
/// </summary>
/// <param name="accessCondition">An <c>AccessCondition</c> object that represents the lease condition.</param>
/// <param name="etag">The ETag value that must be matched.</param>
/// <returns>An <c>AccessCondition</c> object that represents the If-Match and the lease conditions.</returns>
internal static AccessCondition CloneConditionWithETag(AccessCondition accessCondition, string etag)
{
return new AccessCondition
{
IfMatchETag = etag,
LeaseId = accessCondition != null ? accessCondition.LeaseId : null,
};
}
}
}
@@ -0,0 +1,31 @@
//-----------------------------------------------------------------------
// <copyright file="StorageAccountKey.cs" company="Microsoft">
// Copyright 2012 Microsoft Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// </copyright>
//-----------------------------------------------------------------------

namespace Microsoft.WindowsAzure.Storage.Auth
{
internal struct StorageAccountKey
{
internal string KeyName;
internal byte[] KeyValue;

public StorageAccountKey(string keyName, byte[] keyValue)
{
this.KeyName = keyName;
this.KeyValue = keyValue;
}
}
}

0 comments on commit 19c3f62

Please sign in to comment.