1525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/* 2525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Copyright (C) 2012 The Android Open Source Project 3525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * 4525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * you may not use this file except in compliance with the License. 6525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * You may obtain a copy of the License at 7525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * 8525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * 10525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * See the License for the specific language governing permissions and 14525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * limitations under the License. 15525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project */ 16525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 17525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/* 18525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project * Communicate with a peer using NFC-DEP, LLCP, SNEP. 19525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project */ 20525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#pragma once 21525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include <utils/RefBase.h> 22525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include <utils/StrongPointer.h> 23525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include "SyncEvent.h" 24525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include "NfcJniUtil.h" 25525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#include <string> 26525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectextern "C" 27525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{ 28525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project #include "nfa_p2p_api.h" 29525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project} 30525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 31525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass P2pServer; 32525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass P2pClient; 33525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass NfaConn; 34525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project#define MAX_NFA_CONNS_PER_SERVER 5 35525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 36525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/***************************************************************************** 37525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 38525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Name: PeerToPeer 39525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 40525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Description: Communicate with a peer using NFC-DEP, LLCP, SNEP. 41525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 42525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/ 43525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass PeerToPeer 44525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{ 45525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic: 46525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project typedef unsigned int tJNI_HANDLE; 47525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 48525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 49525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 50525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: PeerToPeer 51525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 52525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Initialize member variables. 53525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 54525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 55525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 56525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 57525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project PeerToPeer (); 58525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 59525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 60525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 61525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 62525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: ~PeerToPeer 63525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 64525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Free all resources. 65525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 66525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 67525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 68525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 69525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ~PeerToPeer (); 70525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 71525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 72525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 73525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 74525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: getInstance 75525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 76525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Get the singleton PeerToPeer object. 77525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 78525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: Singleton PeerToPeer object. 79525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 80525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 81525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static PeerToPeer& getInstance(); 82525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 83525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 84525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 85525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 86525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: initialize 87525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 88525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Initialize member variables. 89525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 90525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 91525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 92525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 93525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void initialize (); 94525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 95525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 96525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 97525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 98525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: llcpActivatedHandler 99525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 100525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive LLLCP-activated event from stack. 101525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nat: JVM-related data. 102525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** activated: Event data. 103525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 104525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 105525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 106525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 107525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void llcpActivatedHandler (nfc_jni_native_data* nativeData, tNFA_LLCP_ACTIVATED& activated); 108525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 109525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 110525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 111525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 112525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: llcpDeactivatedHandler 113525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 114525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive LLLCP-deactivated event from stack. 115525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nat: JVM-related data. 116525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** deactivated: Event data. 117525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 118525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 119525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 120525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 121525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void llcpDeactivatedHandler (nfc_jni_native_data* nativeData, tNFA_LLCP_DEACTIVATED& deactivated); 122525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 12357a44d07a3de327e8cdbbcd622118aa517313dbeMartijn Coenen void llcpFirstPacketHandler(nfc_jni_native_data* nativeData); 124525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 125525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 126525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 127525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: connectionEventHandler 128525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 129525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive events from the stack. 130525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** event: Event code. 131525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** eventData: Event data. 132525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 133525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 134525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 135525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 136525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void connectionEventHandler (UINT8 event, tNFA_CONN_EVT_DATA* eventData); 137525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 138525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 139525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 140525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 141525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: registerServer 142525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 143525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Let a server start listening for peer's connection request. 144525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 145525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serviceName: Server's service name. 146525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 147525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 148525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 149525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 150525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool registerServer (tJNI_HANDLE jniHandle, const char* serviceName); 151525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 152525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 153525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 154525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 155525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: deregisterServer 156525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 157525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Stop a P2pServer from listening for peer. 158525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 159525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 160525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 161525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 162525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool deregisterServer (tJNI_HANDLE jniHandle); 163525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 164525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 165525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 166525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 167525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: accept 168525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 169525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Accept a peer's request to connect. 170525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serverJniHandle: Server's handle. 171525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** connJniHandle: Connection handle. 172525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** maxInfoUnit: Maximum information unit. 173525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** recvWindow: Receive window size. 174525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 175525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 176525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 177525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 178525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool accept (tJNI_HANDLE serverJniHandle, tJNI_HANDLE connJniHandle, int maxInfoUnit, int recvWindow); 179525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 180525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 181525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 182525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 183525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: createClient 184525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 185525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Create a P2pClient object for a new out-bound connection. 186525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 187525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** miu: Maximum information unit. 188525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** rw: Receive window size. 189525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 190525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 191525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 192525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 193525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool createClient (tJNI_HANDLE jniHandle, UINT16 miu, UINT8 rw); 194525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 195525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 196525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 197525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 198525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: connectConnOriented 199525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 200525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Estabish a connection-oriented connection to a peer. 201525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 202525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serviceName: Peer's service name. 203525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 204525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 205525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 206525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 207525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool connectConnOriented (tJNI_HANDLE jniHandle, const char* serviceName); 208525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 209525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 210525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 211525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 212525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: connectConnOriented 213525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 214525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Estabish a connection-oriented connection to a peer. 215525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 216525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** destinationSap: Peer's service access point. 217525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 218525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 219525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 220525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 221525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool connectConnOriented (tJNI_HANDLE jniHandle, UINT8 destinationSap); 222525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 223525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 224525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 225525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 226525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: send 227525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 228525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Send data to peer. 229525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Handle of connection. 230525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** buffer: Buffer of data. 231525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** bufferLen: Length of data. 232525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 233525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 234525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 235525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 236525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool send (tJNI_HANDLE jniHandle, UINT8* buffer, UINT16 bufferLen); 237525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 238525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 239525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 240525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 241525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: receive 242525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 243525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive data from peer. 244525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Handle of connection. 245525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** buffer: Buffer to store data. 246525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** bufferLen: Max length of buffer. 247525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** actualLen: Actual length received. 248525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 249525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 250525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 251525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 252525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool receive (tJNI_HANDLE jniHandle, UINT8* buffer, UINT16 bufferLen, UINT16& actualLen); 253525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 254525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 255525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 256525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 257525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: disconnectConnOriented 258525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 259525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Disconnect a connection-oriented connection with peer. 260525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Handle of connection. 261525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 262525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 263525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 264525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 265525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool disconnectConnOriented (tJNI_HANDLE jniHandle); 266525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 267525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 268525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 269525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 270525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: getRemoteMaxInfoUnit 271525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 272525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Get peer's max information unit. 273525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Handle of the connection. 274525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 275525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: Peer's max information unit. 276525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 277525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 278525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT16 getRemoteMaxInfoUnit (tJNI_HANDLE jniHandle); 279525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 280525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 281525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 282525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 283525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: getRemoteRecvWindow 284525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 285525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Get peer's receive window size. 286525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Handle of the connection. 287525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 288525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: Peer's receive window size. 289525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 290525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 291525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT8 getRemoteRecvWindow (tJNI_HANDLE jniHandle); 292525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 293525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 294525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 295525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 296525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: setP2pListenMask 297525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 298525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Sets the p2p listen technology mask. 299525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** p2pListenMask: the p2p listen mask to be set? 300525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 301525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 302525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 303525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 304525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void setP2pListenMask (tNFA_TECHNOLOGY_MASK p2pListenMask); 305525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 306525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 307525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 308525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: enableP2pListening 309525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 310525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Start/stop polling/listening to peer that supports P2P. 311525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** isEnable: Is enable polling/listening? 312525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 313525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 314525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 315525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 316525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void enableP2pListening (bool isEnable); 317525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 318525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 319525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 320525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 321525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: handleNfcOnOff 322525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 323525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Handle events related to turning NFC on/off by the user. 324525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** isOn: Is NFC turning on? 325525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 326525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 327525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 328525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 329525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void handleNfcOnOff (bool isOn); 330525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 331525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 332525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 333525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 334525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: getNextJniHandle 335525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 336525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Get a new JNI handle. 337525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 338525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: A new JNI handle. 339525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 340525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 341525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project tJNI_HANDLE getNewJniHandle (); 342525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 343525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 344525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 345525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: nfaServerCallback 346525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 347525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive LLCP-related events from the stack. 348525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** p2pEvent: Event code. 349525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** eventData: Event data. 350525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 351525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 352525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 353525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 354525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static void nfaServerCallback (tNFA_P2P_EVT p2pEvent, tNFA_P2P_EVT_DATA *eventData); 355525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 356525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 357525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 358525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 359525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: nfaClientCallback 360525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 361525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive LLCP-related events from the stack. 362525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** p2pEvent: Event code. 363525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** eventData: Event data. 364525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 365525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 366525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 367525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 368525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static void nfaClientCallback (tNFA_P2P_EVT p2pEvent, tNFA_P2P_EVT_DATA *eventData); 369525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 370525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectprivate: 371525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static const int sMax = 10; 372525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static PeerToPeer sP2p; 373525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 374525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // Variables below only accessed from a single thread 375525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT16 mRemoteWKS; // Peer's well known services 376525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool mIsP2pListening; // If P2P listening is enabled or not 377525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project tNFA_TECHNOLOGY_MASK mP2pListenTechMask; // P2P Listen mask 378525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 379525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // Variable below is protected by mNewJniHandleMutex 380525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project tJNI_HANDLE mNextJniHandle; 381525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 382525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // Variables below protected by mMutex 383525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // A note on locking order: mMutex in PeerToPeer is *ALWAYS* 384525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // locked before any locks / guards in P2pServer / P2pClient 385525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project Mutex mMutex; 386525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pServer> mServers [sMax]; 387525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pClient> mClients [sMax]; 388525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 389525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // Synchronization variables 390525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mSetTechEvent; // completion event for NFA_SetP2pListenTech() 391525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mSnepDefaultServerStartStopEvent; // completion event for NFA_SnepStartDefaultServer(), NFA_SnepStopDefaultServer() 392525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mSnepRegisterEvent; // completion event for NFA_SnepRegisterClient() 393525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project Mutex mDisconnectMutex; // synchronize the disconnect operation 394525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project Mutex mNewJniHandleMutex; // synchronize the creation of a new JNI handle 395525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 396525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 397525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 398525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 399525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: ndefTypeCallback 400525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 401525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Receive NDEF-related events from the stack. 402525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** ndefEvent: Event code. 403525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** eventData: Event data. 404525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 405525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 406525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 407525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 408525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static void ndefTypeCallback (tNFA_NDEF_EVT event, tNFA_NDEF_EVT_DATA *evetnData); 409525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 410525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 411525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 412525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 413525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findServer 414525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 415525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object by connection handle. 416525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nfaP2pServerHandle: Connectin handle. 417525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 418525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 419525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 420525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 421525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pServer> findServerLocked (tNFA_HANDLE nfaP2pServerHandle); 422525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 423525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 424525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 425525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 426525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findServer 427525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 428525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object by connection handle. 429525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serviceName: service name. 430525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 431525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 432525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 433525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 434525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pServer> findServerLocked (tJNI_HANDLE jniHandle); 435525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 436525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 437525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 438525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 439525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findServer 440525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 441525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object by service name 442525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serviceName: service name. 443525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 444525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 445525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 446525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 447525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pServer> findServerLocked (const char *serviceName); 448525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 449525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 450525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 451525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 452525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: removeServer 453525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 454525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Free resources related to a server. 455525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 456525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 457525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 458525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 459525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 460525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void removeServer (tJNI_HANDLE jniHandle); 461525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 462525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 463525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 464525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 465525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: removeConn 466525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 467525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Free resources related to a connection. 468525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 469525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 470525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 471525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 472525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 473525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void removeConn (tJNI_HANDLE jniHandle); 474525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 475525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 476525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 477525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 478525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: createDataLinkConn 479525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 480525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Establish a connection-oriented connection to a peer. 481525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 482525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serviceName: Peer's service name. 483525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** destinationSap: Peer's service access point. 484525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 485525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 486525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 487525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 488525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool createDataLinkConn (tJNI_HANDLE jniHandle, const char* serviceName, UINT8 destinationSap); 489525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 490525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 491525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 492525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 493525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findClient 494525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 495525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object with a client connection handle. 496525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nfaConnHandle: Connection handle. 497525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 498525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 499525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 500525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 501525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pClient> findClient (tNFA_HANDLE nfaConnHandle); 502525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 503525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 504525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 505525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 506525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findClient 507525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 508525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object with a client connection handle. 509525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 510525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 511525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 512525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 513525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 514525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pClient> findClient (tJNI_HANDLE jniHandle); 515525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 516525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 517525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 518525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 519525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findClientCon 520525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 521525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object with a client connection handle. 522525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nfaConnHandle: Connection handle. 523525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 524525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 525525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 526525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 527525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<P2pClient> findClientCon (tNFA_HANDLE nfaConnHandle); 528525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 529525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 530525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 531525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 532525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findConnection 533525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 534525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object with a connection handle. 535525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nfaConnHandle: Connection handle. 536525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 537525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 538525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 539525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 540525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> findConnection (tNFA_HANDLE nfaConnHandle); 541525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 542525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 543525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 544525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 545525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findConnection 546525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 547525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a PeerToPeer object with a connection handle. 548525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: Connection handle. 549525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 550525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: PeerToPeer object. 551525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 552525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 553525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> findConnection (tJNI_HANDLE jniHandle); 554525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project}; 555525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 556525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 557525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/***************************************************************************** 558525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 559525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Name: NfaConn 560525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 561525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Description: Store information about a connection related to a peer. 562525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 563525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/ 564525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass NfaConn : public android::RefBase 565525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{ 566525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic: 567525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project tNFA_HANDLE mNfaConnHandle; // NFA handle of the P2P connection 568525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project PeerToPeer::tJNI_HANDLE mJniHandle; // JNI handle of the P2P connection 569525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT16 mMaxInfoUnit; 570525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT8 mRecvWindow; 571525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT16 mRemoteMaxInfoUnit; 572525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project UINT8 mRemoteRecvWindow; 573525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mReadEvent; // event for reading 574525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mCongEvent; // event for congestion 575525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mDisconnectingEvent; // event for disconnecting 576525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 577525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 578525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 579525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 580525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: NfaConn 581525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 582525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Initialize member variables. 583525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 584525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 585525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 586525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 587525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project NfaConn(); 588525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project}; 589525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 590525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 591525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/***************************************************************************** 592525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 593525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Name: P2pServer 594525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 595525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Description: Store information about an in-bound connection from a peer. 596525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 597525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/ 598525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass P2pServer : public android::RefBase 599525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{ 600525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic: 601525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project static const std::string sSnepServiceName; 602525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 603525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project tNFA_HANDLE mNfaP2pServerHandle; // NFA p2p handle of local server 604525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project PeerToPeer::tJNI_HANDLE mJniHandle; // JNI Handle 605525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mRegServerEvent; // for NFA_P2pRegisterServer() 606525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mConnRequestEvent; // for accept() 607525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project std::string mServiceName; 608525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 609525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 610525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 611525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: P2pServer 612525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 613525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Initialize member variables. 614525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 615525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 616525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 617525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 618525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project P2pServer (PeerToPeer::tJNI_HANDLE jniHandle, const char* serviceName); 619525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 620525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 621525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 622525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: registerWithStack 623525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 624525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Register this server with the stack. 625525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 626525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 627525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 628525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 629525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool registerWithStack(); 630525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 631525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 632525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 633525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: accept 634525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 635525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Accept a peer's request to connect. 636525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** serverJniHandle: Server's handle. 637525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** connJniHandle: Connection handle. 638525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** maxInfoUnit: Maximum information unit. 639525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** recvWindow: Receive window size. 640525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 641525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 642525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 643525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 644525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool accept (PeerToPeer::tJNI_HANDLE serverJniHandle, PeerToPeer::tJNI_HANDLE connJniHandle, 645525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project int maxInfoUnit, int recvWindow); 646525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 647525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 648525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 649525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: unblockAll 650525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 651525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Unblocks all server connections 652525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 653525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if ok. 654525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 655525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 656525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void unblockAll(); 657525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 658525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 659525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 660525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findServerConnection 661525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 662525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a P2pServer that has the handle. 663525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** nfaConnHandle: NFA connection handle. 664525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 665525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: P2pServer object. 666525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 667525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 668525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> findServerConnection (tNFA_HANDLE nfaConnHandle); 669525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 670525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 671525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 672525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: findServerConnection 673525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 674525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Find a P2pServer that has the handle. 675525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: JNI connection handle. 676525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 677525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: P2pServer object. 678525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 679525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 680525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> findServerConnection (PeerToPeer::tJNI_HANDLE jniHandle); 681525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 682525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 683525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 684525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: removeServerConnection 685525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 686525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Remove a server connection with the provided handle. 687525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: JNI connection handle. 688525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 689525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: True if connection found and removed. 690525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 691525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 692525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool removeServerConnection(PeerToPeer::tJNI_HANDLE jniHandle); 693525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 694525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectprivate: 695525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project Mutex mMutex; 696525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project // mServerConn is protected by mMutex 697525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> mServerConn[MAX_NFA_CONNS_PER_SERVER]; 698525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 699525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 700525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 701525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: allocateConnection 702525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 703525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Allocate a new connection to accept on 704525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** jniHandle: JNI connection handle. 705525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 706525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: Allocated connection object 707525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** NULL if the maximum number of connections was reached 708525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 709525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 710525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> allocateConnection (PeerToPeer::tJNI_HANDLE jniHandle); 711525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project}; 712525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 713525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 714525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project/***************************************************************************** 715525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 716525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Name: P2pClient 717525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 718525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** Description: Store information about an out-bound connection to a peer. 719525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project** 720525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project*****************************************************************************/ 721525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectclass P2pClient : public android::RefBase 722525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project{ 723525c260303268a83da4c3413b953d13c9084e834The Android Open Source Projectpublic: 724525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project tNFA_HANDLE mNfaP2pClientHandle; // NFA p2p handle of client 725525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project bool mIsConnecting; // Set true while connecting 726525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project android::sp<NfaConn> mClientConn; 727525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mRegisteringEvent; // For client registration 728525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mConnectingEvent; // for NFA_P2pConnectByName or Sap() 729525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project SyncEvent mSnepEvent; // To wait for SNEP completion 730525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 731525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 732525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 733525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: P2pClient 734525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 735525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Initialize member variables. 736525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 737525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 738525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 739525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 740525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project P2pClient (); 741525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 742525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 743525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 744525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 745525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: ~P2pClient 746525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 747525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Free all resources. 748525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 749525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 750525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 751525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 752525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ~P2pClient (); 753525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 754525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 755525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project /******************************************************************************* 756525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 757525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Function: unblock 758525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 759525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Description: Unblocks any threads that are locked on this connection 760525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 761525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** Returns: None 762525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project ** 763525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project *******************************************************************************/ 764525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project void unblock(); 765525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project}; 766525c260303268a83da4c3413b953d13c9084e834The Android Open Source Project 767