OSDN Git Service

2bafcbe02fb7dc39ffcc73d9d0228b5ed0e25a35
[android-x86/packages-apps-IM.git] / src / com / android / im / imps / ImpsTransaction.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 /**
21  * Represents an IMPS transaction which is a basic communication mechanism
22  * between an IMPS client and an IMPS SAP. A transaction usually consists of a
23  * request and a response primitive. The transactions MAY originate from either
24  * IMPS client or IMPS SAP.
25  */
26 class ImpsTransaction {
27     private String mId;
28     private ImpsConnection mConnection;
29
30     /**
31      * Creates a new transaction.
32      *
33      * @param id the id of the transaction.
34      */
35     protected ImpsTransaction() {
36     }
37
38     void setTransactionInfo(String id, ImpsConnection conn) {
39         mId = id;
40         mConnection = conn;
41     }
42
43     /**
44      * Gets the id of this transaction.
45      *
46      * @return the id of this transaction.
47      */
48     public String getId() {
49         return mId;
50     }
51
52     protected void sendPrimitive(Primitive primitive) {
53         ImpsSession session = mConnection.getSession();
54         if (session != null) {
55             primitive.setSession(session.getID());
56         }
57         primitive.setTransaction(this);
58
59         mConnection.sendPrimitive(primitive);
60     }
61
62 }