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

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