//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.OpenId.RelyingParty {
using System;
using System.Web.UI;
///
/// A button that would appear in the control via its collection.
///
[Serializable]
public abstract class SelectorButton {
///
/// Initializes a new instance of the class.
///
protected SelectorButton() {
}
///
/// Ensures that this button has been initialized to a valid state.
///
///
/// This is "internal" -- NOT "protected internal" deliberately. It makes it impossible
/// to derive from this class outside the assembly, which suits our purposes since the
/// control is not designed for an extensible set of button types.
///
internal abstract void EnsureValid();
///
/// Renders the leading attributes for the LI tag.
///
/// The writer.
protected internal abstract void RenderLeadingAttributes(HtmlTextWriter writer);
///
/// Renders the content of the button.
///
/// The writer.
/// The containing selector control.
protected internal abstract void RenderButtonContent(HtmlTextWriter writer, OpenIdSelector selector);
}
}