17922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian/* 27922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * Copyright (C) 2005 The Android Open Source Project 37922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * 47922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 57922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * you may not use this file except in compliance with the License. 67922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * You may obtain a copy of the License at 77922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * 87922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 97922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * 107922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * Unless required by applicable law or agreed to in writing, software 117922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 127922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * See the License for the specific language governing permissions and 147922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian * limitations under the License. 157922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian */ 167922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 17c4dd210df92f8d58adae5e27631be4d92cba0c43Steven Moreland#define LOG_TAG "hw-IInterface" 1838b9c529abc917dbd0b0f826ef24813cfe8a96e1Marco Nelissen#include <utils/Log.h> 194080edcfb5810a4a1817c03740f5f1bb19815ae1Martijn Coenen#include <hwbinder/IInterface.h> 207922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 217922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopiannamespace android { 22f75a23d54cc9e5f7b6b976e65b6ec346178f306dMartijn Coenennamespace hardware { 237922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 247922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian// --------------------------------------------------------------------------- 257922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 26a6286c36406f6bb21b53d92dc165c603365b358bMathias AgopianIInterface::IInterface() 27a6286c36406f6bb21b53d92dc165c603365b358bMathias Agopian : RefBase() { 28a6286c36406f6bb21b53d92dc165c603365b358bMathias Agopian} 29a6286c36406f6bb21b53d92dc165c603365b358bMathias Agopian 30a6286c36406f6bb21b53d92dc165c603365b358bMathias AgopianIInterface::~IInterface() { 31a6286c36406f6bb21b53d92dc165c603365b358bMathias Agopian} 32a6286c36406f6bb21b53d92dc165c603365b358bMathias Agopian 33461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissen// static 34461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissensp<IBinder> IInterface::asBinder(const IInterface* iface) 357922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian{ 36461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissen if (iface == NULL) return NULL; 37461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissen return const_cast<IInterface*>(iface)->onAsBinder(); 387922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian} 397922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 40461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissen// static 41461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissensp<IBinder> IInterface::asBinder(const sp<IInterface>& iface) 427922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian{ 43461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissen if (iface == NULL) return NULL; 44461a6724be4bfe9ff484e64f6052abc9953e8fc8Marco Nelissen return iface->onAsBinder(); 457922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian} 467922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 4738b9c529abc917dbd0b0f826ef24813cfe8a96e1Marco Nelissen 487922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian// --------------------------------------------------------------------------- 497922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian 50f75a23d54cc9e5f7b6b976e65b6ec346178f306dMartijn Coenen}; // namespace hardware 517922fa29f3a18386b6eb4cb19e8c582d9f751345Mathias Agopian}; // namespace android 52