All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest Maven / Gradle / Ivy

There is a newer version: 1.24.1
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: temporal/api/operatorservice/v1/request_response.proto

package io.temporal.api.operatorservice.v1;

/**
 * Protobuf type {@code temporal.api.operatorservice.v1.RemoveSearchAttributesRequest}
 */
@javax.annotation.Generated(value="protoc", comments="annotations:RemoveSearchAttributesRequest.java.pb.meta")
public  final class RemoveSearchAttributesRequest extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:temporal.api.operatorservice.v1.RemoveSearchAttributesRequest)
    RemoveSearchAttributesRequestOrBuilder {
private static final long serialVersionUID = 0L;
  // Use RemoveSearchAttributesRequest.newBuilder() to construct.
  private RemoveSearchAttributesRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private RemoveSearchAttributesRequest() {
    searchAttributes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    namespace_ = "";
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new RemoveSearchAttributesRequest();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private RemoveSearchAttributesRequest(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            java.lang.String s = input.readStringRequireUtf8();
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              searchAttributes_ = new com.google.protobuf.LazyStringArrayList();
              mutable_bitField0_ |= 0x00000001;
            }
            searchAttributes_.add(s);
            break;
          }
          case 18: {
            java.lang.String s = input.readStringRequireUtf8();

            namespace_ = s;
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        searchAttributes_ = searchAttributes_.getUnmodifiableView();
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.temporal.api.operatorservice.v1.RequestResponseProto.internal_static_temporal_api_operatorservice_v1_RemoveSearchAttributesRequest_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.temporal.api.operatorservice.v1.RequestResponseProto.internal_static_temporal_api_operatorservice_v1_RemoveSearchAttributesRequest_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.class, io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.Builder.class);
  }

  public static final int SEARCH_ATTRIBUTES_FIELD_NUMBER = 1;
  private com.google.protobuf.LazyStringList searchAttributes_;
  /**
   * 
   * Search attribute names to delete.
   * 
* * repeated string search_attributes = 1; * @return A list containing the searchAttributes. */ public com.google.protobuf.ProtocolStringList getSearchAttributesList() { return searchAttributes_; } /** *
   * Search attribute names to delete.
   * 
* * repeated string search_attributes = 1; * @return The count of searchAttributes. */ public int getSearchAttributesCount() { return searchAttributes_.size(); } /** *
   * Search attribute names to delete.
   * 
* * repeated string search_attributes = 1; * @param index The index of the element to return. * @return The searchAttributes at the given index. */ public java.lang.String getSearchAttributes(int index) { return searchAttributes_.get(index); } /** *
   * Search attribute names to delete.
   * 
* * repeated string search_attributes = 1; * @param index The index of the value to return. * @return The bytes of the searchAttributes at the given index. */ public com.google.protobuf.ByteString getSearchAttributesBytes(int index) { return searchAttributes_.getByteString(index); } public static final int NAMESPACE_FIELD_NUMBER = 2; private volatile java.lang.Object namespace_; /** * string namespace = 2; * @return The namespace. */ public java.lang.String getNamespace() { java.lang.Object ref = namespace_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); namespace_ = s; return s; } } /** * string namespace = 2; * @return The bytes for namespace. */ public com.google.protobuf.ByteString getNamespaceBytes() { java.lang.Object ref = namespace_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); namespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < searchAttributes_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, searchAttributes_.getRaw(i)); } if (!getNamespaceBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, namespace_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; { int dataSize = 0; for (int i = 0; i < searchAttributes_.size(); i++) { dataSize += computeStringSizeNoTag(searchAttributes_.getRaw(i)); } size += dataSize; size += 1 * getSearchAttributesList().size(); } if (!getNamespaceBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, namespace_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest)) { return super.equals(obj); } io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest other = (io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest) obj; if (!getSearchAttributesList() .equals(other.getSearchAttributesList())) return false; if (!getNamespace() .equals(other.getNamespace())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getSearchAttributesCount() > 0) { hash = (37 * hash) + SEARCH_ATTRIBUTES_FIELD_NUMBER; hash = (53 * hash) + getSearchAttributesList().hashCode(); } hash = (37 * hash) + NAMESPACE_FIELD_NUMBER; hash = (53 * hash) + getNamespace().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code temporal.api.operatorservice.v1.RemoveSearchAttributesRequest} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:temporal.api.operatorservice.v1.RemoveSearchAttributesRequest) io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequestOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.temporal.api.operatorservice.v1.RequestResponseProto.internal_static_temporal_api_operatorservice_v1_RemoveSearchAttributesRequest_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.temporal.api.operatorservice.v1.RequestResponseProto.internal_static_temporal_api_operatorservice_v1_RemoveSearchAttributesRequest_fieldAccessorTable .ensureFieldAccessorsInitialized( io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.class, io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.Builder.class); } // Construct using io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); searchAttributes_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); namespace_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.temporal.api.operatorservice.v1.RequestResponseProto.internal_static_temporal_api_operatorservice_v1_RemoveSearchAttributesRequest_descriptor; } @java.lang.Override public io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest getDefaultInstanceForType() { return io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.getDefaultInstance(); } @java.lang.Override public io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest build() { io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest buildPartial() { io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest result = new io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { searchAttributes_ = searchAttributes_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000001); } result.searchAttributes_ = searchAttributes_; result.namespace_ = namespace_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest) { return mergeFrom((io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest other) { if (other == io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest.getDefaultInstance()) return this; if (!other.searchAttributes_.isEmpty()) { if (searchAttributes_.isEmpty()) { searchAttributes_ = other.searchAttributes_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureSearchAttributesIsMutable(); searchAttributes_.addAll(other.searchAttributes_); } onChanged(); } if (!other.getNamespace().isEmpty()) { namespace_ = other.namespace_; onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private com.google.protobuf.LazyStringList searchAttributes_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureSearchAttributesIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { searchAttributes_ = new com.google.protobuf.LazyStringArrayList(searchAttributes_); bitField0_ |= 0x00000001; } } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @return A list containing the searchAttributes. */ public com.google.protobuf.ProtocolStringList getSearchAttributesList() { return searchAttributes_.getUnmodifiableView(); } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @return The count of searchAttributes. */ public int getSearchAttributesCount() { return searchAttributes_.size(); } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @param index The index of the element to return. * @return The searchAttributes at the given index. */ public java.lang.String getSearchAttributes(int index) { return searchAttributes_.get(index); } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @param index The index of the value to return. * @return The bytes of the searchAttributes at the given index. */ public com.google.protobuf.ByteString getSearchAttributesBytes(int index) { return searchAttributes_.getByteString(index); } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @param index The index to set the value at. * @param value The searchAttributes to set. * @return This builder for chaining. */ public Builder setSearchAttributes( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSearchAttributesIsMutable(); searchAttributes_.set(index, value); onChanged(); return this; } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @param value The searchAttributes to add. * @return This builder for chaining. */ public Builder addSearchAttributes( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSearchAttributesIsMutable(); searchAttributes_.add(value); onChanged(); return this; } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @param values The searchAttributes to add. * @return This builder for chaining. */ public Builder addAllSearchAttributes( java.lang.Iterable values) { ensureSearchAttributesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, searchAttributes_); onChanged(); return this; } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @return This builder for chaining. */ public Builder clearSearchAttributes() { searchAttributes_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
     * Search attribute names to delete.
     * 
* * repeated string search_attributes = 1; * @param value The bytes of the searchAttributes to add. * @return This builder for chaining. */ public Builder addSearchAttributesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSearchAttributesIsMutable(); searchAttributes_.add(value); onChanged(); return this; } private java.lang.Object namespace_ = ""; /** * string namespace = 2; * @return The namespace. */ public java.lang.String getNamespace() { java.lang.Object ref = namespace_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); namespace_ = s; return s; } else { return (java.lang.String) ref; } } /** * string namespace = 2; * @return The bytes for namespace. */ public com.google.protobuf.ByteString getNamespaceBytes() { java.lang.Object ref = namespace_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); namespace_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * string namespace = 2; * @param value The namespace to set. * @return This builder for chaining. */ public Builder setNamespace( java.lang.String value) { if (value == null) { throw new NullPointerException(); } namespace_ = value; onChanged(); return this; } /** * string namespace = 2; * @return This builder for chaining. */ public Builder clearNamespace() { namespace_ = getDefaultInstance().getNamespace(); onChanged(); return this; } /** * string namespace = 2; * @param value The bytes for namespace to set. * @return This builder for chaining. */ public Builder setNamespaceBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); namespace_ = value; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:temporal.api.operatorservice.v1.RemoveSearchAttributesRequest) } // @@protoc_insertion_point(class_scope:temporal.api.operatorservice.v1.RemoveSearchAttributesRequest) private static final io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest(); } public static io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RemoveSearchAttributesRequest parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new RemoveSearchAttributesRequest(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy