2 * Copyright (C) 2007 Esmertec AG.
3 * Copyright (C) 2007 The Android Open Source Project
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 package com.android.im.imps;
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.
26 class ImpsTransaction {
28 private ImpsConnection mConnection;
31 * Creates a new transaction.
33 * @param id the id of the transaction.
35 protected ImpsTransaction() {
38 void setTransactionInfo(String id, ImpsConnection conn) {
44 * Gets the id of this transaction.
46 * @return the id of this transaction.
48 public String getId() {
52 protected void sendPrimitive(Primitive primitive) {
53 ImpsSession session = mConnection.getSession();
54 if (session != null) {
55 primitive.setSession(session.getID());
57 primitive.setTransaction(this);
59 mConnection.sendPrimitive(primitive);