Home | History | Annotate | Download | only in webkit
      1 /*
      2  * Copyright (C) 2009 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package android.webkit;
     18 
     19 import android.annotation.UnsupportedAppUsage;
     20 import java.io.InputStream;
     21 import java.util.Map;
     22 
     23 /**
     24  * This class encapsulates the content generated by a plugin.  The
     25  * data itself is meant to be loaded into webkit via the
     26  * PluginContentLoader class, which needs to be able to construct an
     27  * HTTP response. For this, it needs a stream with the response body,
     28  * the length of the body, the response headers, and the response
     29  * status code. The PluginData class is the container for all these
     30  * parts.
     31  *
     32  * @hide
     33  * @deprecated This class was intended to be used by Gears. Since Gears was
     34  * deprecated, so is this class.
     35  */
     36 @Deprecated
     37 public final class PluginData {
     38     /**
     39      * The content stream.
     40      */
     41     private InputStream mStream;
     42     /**
     43      * The content length.
     44      */
     45     private long mContentLength;
     46     /**
     47      * The associated HTTP response headers stored as a map of
     48      * lowercase header name to [ unmodified header name, header value].
     49      * TODO: This design was always a hack. Remove (involves updating
     50      * the Gears C++ side).
     51      */
     52     private Map<String, String[]> mHeaders;
     53 
     54     /**
     55      * The associated HTTP response code.
     56      */
     57     private int mStatusCode;
     58 
     59     /**
     60      * Creates a PluginData instance.
     61      *
     62      * @param stream The stream that supplies content for the plugin.
     63      * @param length The length of the plugin content.
     64      * @param headers The response headers. Map of
     65      * lowercase header name to [ unmodified header name, header value]
     66      * @param length The HTTP response status code.
     67      *
     68      * @hide
     69      * @deprecated This class was intended to be used by Gears. Since Gears was
     70      * deprecated, so is this class.
     71      */
     72     @Deprecated
     73     @UnsupportedAppUsage
     74     public PluginData(
     75             InputStream stream,
     76             long length,
     77             Map<String, String[]> headers,
     78             int code) {
     79         mStream = stream;
     80         mContentLength = length;
     81         mHeaders = headers;
     82         mStatusCode = code;
     83     }
     84 
     85     /**
     86      * Returns the input stream that contains the plugin content.
     87      *
     88      * @return An InputStream instance with the plugin content.
     89      *
     90      * @hide
     91      * @deprecated This class was intended to be used by Gears. Since Gears was
     92      * deprecated, so is this class.
     93      */
     94     @Deprecated
     95     @UnsupportedAppUsage
     96     public InputStream getInputStream() {
     97         return mStream;
     98     }
     99 
    100     /**
    101      * Returns the length of the plugin content.
    102      *
    103      * @return the length of the plugin content.
    104      *
    105      * @hide
    106      * @deprecated This class was intended to be used by Gears. Since Gears was
    107      * deprecated, so is this class.
    108      */
    109     @Deprecated
    110     @UnsupportedAppUsage
    111     public long getContentLength() {
    112         return mContentLength;
    113     }
    114 
    115     /**
    116      * Returns the HTTP response headers associated with the plugin
    117      * content.
    118      *
    119      * @return A Map<String, String[]> containing all headers. The
    120      * mapping is 'lowercase header name' to ['unmodified header
    121      * name', header value].
    122      *
    123      * @hide
    124      * @deprecated This class was intended to be used by Gears. Since Gears was
    125      * deprecated, so is this class.
    126      */
    127     @Deprecated
    128     @UnsupportedAppUsage
    129     public Map<String, String[]> getHeaders() {
    130         return mHeaders;
    131     }
    132 
    133     /**
    134      * Returns the HTTP status code for the response.
    135      *
    136      * @return The HTTP statue code, e.g 200.
    137      *
    138      * @hide
    139      * @deprecated This class was intended to be used by Gears. Since Gears was
    140      * deprecated, so is this class.
    141      */
    142     @Deprecated
    143     @UnsupportedAppUsage
    144     public int getStatusCode() {
    145         return mStatusCode;
    146     }
    147 }
    148