blob: 9253a0819cf41768e7f35b3a970b3a131e7f0a02 [file] [log] [blame]
// <copyright file="SessionId.cs" company="WebDriver Committers">
// Copyright 2007-2011 WebDriver committers
// Copyright 2007-2011 Google Inc.
// Portions copyright 2011 Software Freedom Conservancy
//
// 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 OpenQA.Selenium.Remote
{
/// <summary>
/// Provides a mechanism for maintaining a session for a test
/// </summary>
public class SessionId
{
private string sessionOpaqueKey;
/// <summary>
/// Initializes a new instance of the SessionId class
/// </summary>
/// <param name="opaqueKey">Key for the session in use</param>
public SessionId(string opaqueKey)
{
this.sessionOpaqueKey = opaqueKey;
}
/// <summary>
/// Get the value of the key
/// </summary>
/// <returns>The key in use</returns>
public override string ToString()
{
return this.sessionOpaqueKey;
}
/// <summary>
/// Get the hash code of the key
/// </summary>
/// <returns>The hash code of the key</returns>
public override int GetHashCode()
{
return this.sessionOpaqueKey.GetHashCode();
}
/// <summary>
/// Compares two Sessions
/// </summary>
/// <param name="obj">Session to compare</param>
/// <returns>True if they are equal or False if they are not</returns>
public override bool Equals(object obj)
{
bool objectsAreEqual = false;
SessionId other = obj as SessionId;
if (other != null)
{
objectsAreEqual = this.sessionOpaqueKey.Equals(other.sessionOpaqueKey);
}
return objectsAreEqual;
}
}
}