ImpsClientCapability.java
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:4k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2007 Esmertec AG.
  3.  * Copyright (C) 2007 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im.imps;
  18. import com.android.im.imps.ImpsConnectionConfig.CirMethod;
  19. import com.android.im.imps.ImpsConnectionConfig.TransportType;
  20. /**
  21.  * The configuration of the capabilities of the client.
  22.  */
  23. final class ImpsClientCapability {
  24.     private ImpsClientCapability() {
  25.     }
  26.     /**
  27.      * Gets the type of the client.
  28.      *
  29.      * @return the type of the client.
  30.      */
  31.     public static String getClientType() {
  32.         return "MOBILE_PHONE";
  33.     }
  34.     /**
  35.      * Get the maximum number of bytes of XML (WBXML, SMS - depending on the
  36.      * actual encoding) primitive that the client-side parser can handle.
  37.      *
  38.      * @return the maximum number of bytes that the parser can handle.
  39.      */
  40.     public static int getParserSize() {
  41.         // TODO: we do not really have a limit for this for now. Just return
  42.         // a number big enough.
  43.         return 256 * 1024;
  44.     }
  45.     /**
  46.      * Get the maximum number of bytes of the message content that the client
  47.      * can handle.
  48.      *
  49.      * @return the maximum number of bytes of the message content that the
  50.      * client can handle.
  51.      */
  52.     public static int getAcceptedContentLength() {
  53.         return 256 * 1024;
  54.     }
  55.     /**
  56.      * Gets the maximum number of open transactions from both client and
  57.      * server side at any given time.
  58.      *
  59.      * @return the maximum number of open transactions.
  60.      */
  61.     public static int getMultiTrans() {
  62.         return 1;
  63.     }
  64.     /**
  65.      * Gets the maximum number of primitives that the client can handle within
  66.      * the same transport message at any given time.
  67.      *
  68.      * @return the maximum number of primitives within the same transport
  69.      *         message.
  70.      */
  71.     public static int getMultiTransPerMessage() {
  72.         return 1;
  73.     }
  74.     /**
  75.      * Gets the initial IM delivery method that the recipient client prefers in
  76.      * the set of "PUSH" and "Notify/Get".
  77.      *
  78.      * @return "P" if prefers "PUSH", or "N" if prefers "Notify/Get".
  79.      */
  80.     public static String getInitialDeliveryMethod() {
  81.         return "P";
  82.     }
  83.     /**
  84.      * Get supported CIR methods in preferred order.
  85.      *
  86.      * @return a array of supported CIR methods.
  87.      */
  88.     public static CirMethod[] getSupportedCirMethods() {
  89.         return new CirMethod[] {
  90.                 CirMethod.STCP,
  91.                 CirMethod.SHTTP,
  92.         };
  93.     }
  94.     /**
  95.      * Get supported bearers (HTTP(S), WSP, SMS).
  96.      *
  97.      * @return the array of supported bearers.
  98.      */
  99.     public static TransportType[] getSupportedBearers() {
  100.         return new TransportType[] {
  101.                 TransportType.HTTP
  102.         };
  103.     }
  104.     /**
  105.      * Get supported Presence attributes
  106.      *
  107.      * @return the array of supported Presence attributes
  108.      */
  109.     public static String[] getSupportedPresenceAttribs() {
  110.         return new String[] {
  111.                 ImpsTags.OnlineStatus,
  112.                 ImpsTags.ClientInfo,
  113.                 ImpsTags.UserAvailability,
  114.                 ImpsTags.StatusText,
  115.                 ImpsTags.StatusContent,
  116.         };
  117.     };
  118.     /**
  119.      * Gets the basic presence attributes.
  120.      *
  121.      * @return an array of the basic Presence attributes.
  122.      */
  123.     public static String[] getBasicPresenceAttributes() {
  124.         return new String[] {
  125.                 ImpsTags.OnlineStatus,
  126.                 ImpsTags.ClientInfo,
  127.                 ImpsTags.UserAvailability,
  128.         };
  129.     }
  130. }