content: /*
   * Copyright (C) 2016 The Android Open Source Project
   *
   * 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.
   */
  
  package com.android.server.wifi.aware;
  
  import android.net.wifi.aware.Characteristics;
  import android.os.Bundle;
  
  /**
   * A container class for Aware (vendor) implementation capabilities (or
   * limitations). Filled-in by the firmware.
   */
  public class Capabilities {
      public int maxConcurrentAwareClusters;
      public int maxPublishes;
      public int maxSubscribes;
      public int maxServiceNameLen;
      public int maxMatchFilterLen;
      public int maxTotalMatchFilterLen;
      public int maxServiceSpecificInfoLen;
      public int maxExtendedServiceSpecificInfoLen;
      public int maxNdiInterfaces;
      public int maxNdpSessions;
      public int maxAppInfoLen;
      public int maxQueuedTransmitMessages;
      public int maxSubscribeInterfaceAddresses;
      public int supportedCipherSuites;
  
      /**
       * Converts the internal capabilities to a parcelable & potentially app-facing
       * characteristics bundle. Only some of the information is exposed.
       */
      public Characteristics toPublicCharacteristics() {
          Bundle bundle = new Bundle();
          bundle.putInt(Characteristics.KEY_MAX_SERVICE_NAME_LENGTH, maxServiceNameLen);
          bundle.putInt(Characteristics.KEY_MAX_SERVICE_SPECIFIC_INFO_LENGTH,
                  maxServiceSpecificInfoLen);
          bundle.putInt(Characteristics.KEY_MAX_MATCH_FILTER_LENGTH, maxMatchFilterLen);
          return new Characteristics(bundle);
      }
  
      @Override
      public String toString() {
          return "Capabilities [maxConcurrentAwareClusters=" + maxConcurrentAwareClusters
                  + ", maxPublishes=" + maxPublishes + ", maxSubscribes=" + maxSubscribes
                  + ", maxServiceNameLen=" + maxServiceNameLen + ", maxMatchFilterLen="
                  + maxMatchFilterLen + ", maxTotalMatchFilterLen=" + maxTotalMatchFilterLen
                  + ", maxServiceSpecificInfoLen=" + maxServiceSpecificInfoLen
                  + ", maxExtendedServiceSpecificInfoLen=" + maxExtendedServiceSpecificInfoLen
                  + ", maxNdiInterfaces=" + maxNdiInterfaces + ", maxNdpSessions="
                  + maxNdpSessions + ", maxAppInfoLen=" + maxAppInfoLen
                  + ", maxQueuedTransmitMessages=" + maxQueuedTransmitMessages
                  + ", maxSubscribeInterfaceAddresses=" + maxSubscribeInterfaceAddresses
                  + ", supportedCipherSuites=" + supportedCipherSuites
                  + "]";
      }
  }
  