diff options
author | Jose <jose@zeroc.com> | 2019-10-01 18:37:05 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2019-10-01 18:37:46 +0200 |
commit | 0ab79cdca55bcf8aa7bce663e8edb64b59e693fd (patch) | |
tree | 608c6e12bd6a18846f199fba6cd58ad6bd8eb298 /cpp | |
parent | Add Info.plist to test bundles required for signing (diff) | |
download | ice-0ab79cdca55bcf8aa7bce663e8edb64b59e693fd.tar.bz2 ice-0ab79cdca55bcf8aa7bce663e8edb64b59e693fd.tar.xz ice-0ab79cdca55bcf8aa7bce663e8edb64b59e693fd.zip |
Allow building IceIAP with ARC
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/IceIAP/Connector.mm | 9 | ||||
-rw-r--r-- | cpp/src/IceIAP/EndpointI.mm | 2 | ||||
-rw-r--r-- | cpp/src/IceIAP/Transceiver.mm | 8 |
3 files changed, 19 insertions, 0 deletions
diff --git a/cpp/src/IceIAP/Connector.mm b/cpp/src/IceIAP/Connector.mm index 4db075443f5..bb77df81da2 100644 --- a/cpp/src/IceIAP/Connector.mm +++ b/cpp/src/IceIAP/Connector.mm @@ -22,7 +22,9 @@ IceObjC::iAPConnector::connect() throw Ice::ConnectFailedException(__FILE__, __LINE__, 0); } TransceiverPtr transceiver = new iAPTransceiver(_instance, session); +#if defined(__clang__) && !__has_feature(objc_arc) [session release]; +#endif return transceiver; } @@ -132,13 +134,20 @@ IceObjC::iAPConnector::iAPConnector(const ProtocolInstancePtr& instance, _instance(instance), _timeout(timeout), _connectionId(connectionId), +#if defined(__clang__) && !__has_feature(objc_arc) _protocol([protocol retain]), _accessory([accessory retain]) +#else + _protocol(protocol), + _accessory(accessory) +#endif { } IceObjC::iAPConnector::~iAPConnector() { +#if defined(__clang__) && !__has_feature(objc_arc) [_protocol release]; [_accessory release]; +#endif } diff --git a/cpp/src/IceIAP/EndpointI.mm b/cpp/src/IceIAP/EndpointI.mm index 82d2897e89b..b9f2f6ef05a 100644 --- a/cpp/src/IceIAP/EndpointI.mm +++ b/cpp/src/IceIAP/EndpointI.mm @@ -270,7 +270,9 @@ IceObjC::iAPEndpointI::connectors_async(Ice::EndpointSelectionType /*selType*/, } c.push_back(new iAPConnector(_instance, _timeout, _connectionId, protocol, accessory)); } +#if defined(__clang__) && !__has_feature(objc_arc) [protocol release]; +#endif if(c.empty()) { throw Ice::ConnectFailedException(__FILE__, __LINE__, 0); diff --git a/cpp/src/IceIAP/Transceiver.mm b/cpp/src/IceIAP/Transceiver.mm index 2ca9931e407..360cff2078b 100644 --- a/cpp/src/IceIAP/Transceiver.mm +++ b/cpp/src/IceIAP/Transceiver.mm @@ -205,7 +205,9 @@ IceObjC::iAPTransceiver::closeStreams() [_writeStream setDelegate:nil]; [_readStream setDelegate:nil]; +#if defined(__clang__) && !__has_feature(objc_arc) [_callback release]; +#endif _callback = 0; [_writeStream close]; @@ -383,7 +385,11 @@ IceObjC::iAPTransceiver::setBufferSize(int, int) IceObjC::iAPTransceiver::iAPTransceiver(const ProtocolInstancePtr& instance, EASession* session) : StreamNativeInfo(INVALID_SOCKET), _instance(instance), +#if defined(__clang__) && !__has_feature(objc_arc) _session([session retain]), +#else + _session(session), +#endif _readStream([session inputStream]), _writeStream([session outputStream]), _readStreamRegistered(false), @@ -399,7 +405,9 @@ IceObjC::iAPTransceiver::iAPTransceiver(const ProtocolInstancePtr& instance, EAS IceObjC::iAPTransceiver::~iAPTransceiver() { +#if defined(__clang__) && !__has_feature(objc_arc) [_session release]; +#endif } void |