OSDN Git Service

f147d001137fe66b4875218c709f849e8c5822d7
[android-x86/packages-apps-IM.git] / src / com / android / im / imps / CirChannel.java
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
18 package com.android.im.imps;
19
20 import com.android.im.engine.ImException;
21
22 /**
23  * The protocol binding in data channel might be WSP, HTTP and HTTPS which are
24  * asymmetric. In this case when the server needs to start transaction, it has
25  * to send a communication initiation request message through the CIR channel to
26  * the client in order to request an immediate PollingRequest message from the
27  * client to the server on the data channel.
28  */
29 abstract class CirChannel {
30     protected ImpsConnection mConnection;
31
32     protected CirChannel(ImpsConnection connection) {
33         mConnection = connection;
34     }
35
36     /**
37      * Establishes the connection to the server if the protocol is connection
38      * oriented (e.g. as TCP)and starts to listen to CIR requests from the
39      * server.
40      * @throws Exception
41      */
42     public abstract void connect() throws ImException;
43
44     public void reconnect(){
45     }
46
47     /**
48      * Shutdown the CIR channel, stops to listen to CIR requests from the server.
49      *
50      */
51     public abstract void shutdown();
52 }