1*5c4dab75SAndroid Build Coastguard Worker /* 2*5c4dab75SAndroid Build Coastguard Worker * Copyright (C) 2017 The Android Open Source Project 3*5c4dab75SAndroid Build Coastguard Worker * 4*5c4dab75SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*5c4dab75SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*5c4dab75SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*5c4dab75SAndroid Build Coastguard Worker * 8*5c4dab75SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*5c4dab75SAndroid Build Coastguard Worker * 10*5c4dab75SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*5c4dab75SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*5c4dab75SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*5c4dab75SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*5c4dab75SAndroid Build Coastguard Worker * limitations under the License. 15*5c4dab75SAndroid Build Coastguard Worker */ 16*5c4dab75SAndroid Build Coastguard Worker #ifndef ANDROID_ESED_SCOPED_ESE_CONNECTION_H 17*5c4dab75SAndroid Build Coastguard Worker #define ANDROID_ESED_SCOPED_ESE_CONNECTION_H 18*5c4dab75SAndroid Build Coastguard Worker 19*5c4dab75SAndroid Build Coastguard Worker #include <android-base/logging.h> 20*5c4dab75SAndroid Build Coastguard Worker #include <esecpp/EseInterface.h> 21*5c4dab75SAndroid Build Coastguard Worker 22*5c4dab75SAndroid Build Coastguard Worker namespace android { 23*5c4dab75SAndroid Build Coastguard Worker namespace esed { 24*5c4dab75SAndroid Build Coastguard Worker 25*5c4dab75SAndroid Build Coastguard Worker using ::android::EseInterface; 26*5c4dab75SAndroid Build Coastguard Worker 27*5c4dab75SAndroid Build Coastguard Worker class ScopedEseConnection { 28*5c4dab75SAndroid Build Coastguard Worker public: ScopedEseConnection(EseInterface & ese)29*5c4dab75SAndroid Build Coastguard Worker ScopedEseConnection(EseInterface& ese) : mEse_(ese) {} ~ScopedEseConnection()30*5c4dab75SAndroid Build Coastguard Worker ~ScopedEseConnection() { mEse_.close(); } 31*5c4dab75SAndroid Build Coastguard Worker init()32*5c4dab75SAndroid Build Coastguard Worker bool init() { 33*5c4dab75SAndroid Build Coastguard Worker mEse_.init(); 34*5c4dab75SAndroid Build Coastguard Worker int res = mEse_.open(); 35*5c4dab75SAndroid Build Coastguard Worker if (res != 0) { 36*5c4dab75SAndroid Build Coastguard Worker LOG(ERROR) << "Failed to open eSE connection: " << res; 37*5c4dab75SAndroid Build Coastguard Worker return false; 38*5c4dab75SAndroid Build Coastguard Worker } 39*5c4dab75SAndroid Build Coastguard Worker return true; 40*5c4dab75SAndroid Build Coastguard Worker } 41*5c4dab75SAndroid Build Coastguard Worker 42*5c4dab75SAndroid Build Coastguard Worker private: 43*5c4dab75SAndroid Build Coastguard Worker EseInterface& mEse_; 44*5c4dab75SAndroid Build Coastguard Worker }; 45*5c4dab75SAndroid Build Coastguard Worker 46*5c4dab75SAndroid Build Coastguard Worker } // namespace esed 47*5c4dab75SAndroid Build Coastguard Worker } // namespace android 48*5c4dab75SAndroid Build Coastguard Worker 49*5c4dab75SAndroid Build Coastguard Worker #endif // ANDROID_ESED_SCOPED_ESE_CONNECTION_H 50