Class Visibility (2.10.0)

public sealed class Visibility : IMessage<Visibility>, IEquatable<Visibility>, IDeepCloneable<Visibility>, IBufferMessage, IMessage

Visibility restricts service consumer's access to service elements, such as whether an application can call a visibility-restricted method. The restriction is expressed by applying visibility labels on service elements. The visibility labels are elsewhere linked to service consumers.

A service can define multiple visibility labels, but a service consumer should be granted at most one visibility label. Multiple visibility labels for a single service consumer are not supported.

If an element and all its parents have no visibility label, its visibility is unconditionally granted.

Example:

visibility:
  rules:
  - selector: google.calendar.Calendar.EnhancedSearch
    restriction: PREVIEW
  - selector: google.calendar.Calendar.Delegate
    restriction: INTERNAL

Here, all methods are publicly visible except for the restricted methods EnhancedSearch and Delegate.

Inheritance

object > Visibility

Namespace

Google.Api

Assembly

Google.Api.CommonProtos.dll

Constructors

Visibility()

public Visibility()

Visibility(Visibility)

public Visibility(Visibility other)
Parameter
Name Description
other Visibility

Fields

RulesFieldNumber

public const int RulesFieldNumber = 1

Field number for the "rules" field.

Field Value
Type Description
int

Properties

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

Parser

public static MessageParser<Visibility> Parser { get; }
Property Value
Type Description
MessageParserVisibility

Rules

public RepeatedField<VisibilityRule> Rules { get; }

A list of visibility rules that apply to individual API elements.

NOTE: All service configuration rules follow "last one wins" order.

Property Value
Type Description
RepeatedFieldVisibilityRule

Methods

CalculateSize()

public int CalculateSize()
Returns
Type Description
int

Clone()

public Visibility Clone()
Returns
Type Description
Visibility

Equals(Visibility)

public bool Equals(Visibility other)
Parameter
Name Description
other Visibility
Returns
Type Description
bool

Equals(object)

public override bool Equals(object other)
Parameter
Name Description
other object
Returns
Type Description
bool
Overrides

GetHashCode()

public override int GetHashCode()
Returns
Type Description
int
Overrides

MergeFrom(Visibility)

public void MergeFrom(Visibility other)
Parameter
Name Description
other Visibility

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)
Parameter
Name Description
input CodedInputStream

ToString()

public override string ToString()
Returns
Type Description
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)
Parameter
Name Description
output CodedOutputStream