summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-03-09 14:38:57 (GMT)
committerTobias Markmann <tm@ayena.de>2016-03-15 15:53:03 (GMT)
commitf7de41c770be1bc6c45e825ff0fbdd6bfb799fae (patch)
tree60f7802290dd1d06399f7a7c59fa621046321e18 /SwifTools/Notifier
parent8cdebcff1d1e8321b070c7e675f9a9709a2b0b81 (diff)
downloadswift-f7de41c770be1bc6c45e825ff0fbdd6bfb799fae.zip
swift-f7de41c770be1bc6c45e825ff0fbdd6bfb799fae.tar.bz2
Explicitly convert between nullable and non-nullable on OS X
Clang was complaining about implicit conversions between nullable and non-nullable NSString pointers. Adjusted our std::string -> NSString* conversion utilities to check for nil and return an empty std::string in that case. Replaced uses of [NSString stringWithUTF8String] with our STD2NSSTRING macro. Turned std::string <-> NSString* conversion macros into functions. Test-Information: Builds without the warning on OS X 10.11.3 and Swift runs without issues. Change-Id: I949f2f3332018391aead58ef362764f4b7955b01
Diffstat (limited to 'SwifTools/Notifier')
-rw-r--r--SwifTools/Notifier/GrowlNotifier.mm14
-rw-r--r--SwifTools/Notifier/NotificationCenterNotifier.mm10
-rw-r--r--SwifTools/Notifier/NotificationCenterNotifierDelegate.mm4
3 files changed, 14 insertions, 14 deletions
diff --git a/SwifTools/Notifier/GrowlNotifier.mm b/SwifTools/Notifier/GrowlNotifier.mm
index acaf45c..d5bdf6f 100644
--- a/SwifTools/Notifier/GrowlNotifier.mm
+++ b/SwifTools/Notifier/GrowlNotifier.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2011 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -36,16 +36,16 @@ GrowlNotifier::GrowlNotifier(const std::string& name) {
p = boost::make_shared<Private>();
p->delegate = boost::intrusive_ptr<GrowlNotifierDelegate>([[GrowlNotifierDelegate alloc] init], false);
p->delegate.get().notifier = this;
- p->delegate.get().name = STD2NSSTRING(name);
+ p->delegate.get().name = std2NSString(name);
NSMutableArray* allNotifications = [[NSMutableArray alloc] init];
foreach(Type type, getAllTypes()) {
- [allNotifications addObject: STD2NSSTRING(typeToString(type))];
+ [allNotifications addObject: std2NSString(typeToString(type))];
}
NSMutableArray* defaultNotifications = [[NSMutableArray alloc] init];
foreach(Type type, getDefaultTypes()) {
- [defaultNotifications addObject: STD2NSSTRING(typeToString(type))];
+ [defaultNotifications addObject: std2NSString(typeToString(type))];
}
p->delegate.get().registrationDictionary = [[[NSDictionary alloc]
@@ -73,9 +73,9 @@ void GrowlNotifier::showMessage(Type type, const std::string& subject, const std
p->pendingNotifications.insert(context);
[GrowlApplicationBridge
- notifyWithTitle: STD2NSSTRING(subject)
- description: STD2NSSTRING(description)
- notificationName: STD2NSSTRING(typeToString(type))
+ notifyWithTitle: std2NSString(subject)
+ description: std2NSString(description)
+ notificationName: std2NSString(typeToString(type))
iconData: [NSData dataWithBytes: vecptr(picture) length: picture.size()]
priority: 0
isSticky: NO
diff --git a/SwifTools/Notifier/NotificationCenterNotifier.mm b/SwifTools/Notifier/NotificationCenterNotifier.mm
index 10319c8..01e6368 100644
--- a/SwifTools/Notifier/NotificationCenterNotifier.mm
+++ b/SwifTools/Notifier/NotificationCenterNotifier.mm
@@ -57,11 +57,11 @@ void NotificationCenterNotifier::showMessage(Type type, const std::string& subje
if (std::find(defaultTypes.begin(), defaultTypes.end(), type) == defaultTypes.end()) {
return;
}
- NSImage* image = [[NSImage alloc] initWithContentsOfFile: STD2NSSTRING(picture.string())];
+ NSImage* image = [[NSImage alloc] initWithContentsOfFile: std2NSString(picture.string())];
NSUserNotification* notification = [[NSUserNotification alloc] init];
- [notification setTitle:STD2NSSTRING(typeToString(type))];
- [notification setSubtitle:STD2NSSTRING(subject)];
- [notification setInformativeText:STD2NSSTRING(description)];
+ [notification setTitle:std2NSString(typeToString(type))];
+ [notification setSubtitle:std2NSString(subject)];
+ [notification setInformativeText:std2NSString(description)];
[notification setContentImage: image];
[image release];
@@ -73,7 +73,7 @@ void NotificationCenterNotifier::showMessage(Type type, const std::string& subje
/// \todo Currently the elements are only removed on application exit. Ideally the notifications not required anymore
/// are removed from the map; e.g. when visiting a chat view, all notifications from that view can be removed from
/// the map and the NSUserNotificationCenter.
- p->callbacksForNotifications[NS2STDSTRING(notification.identifier)] = boost::make_shared<Context>(callback);
+ p->callbacksForNotifications[ns2StdString(notification.identifier)] = boost::make_shared<Context>(callback);
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
[notification release];
}
diff --git a/SwifTools/Notifier/NotificationCenterNotifierDelegate.mm b/SwifTools/Notifier/NotificationCenterNotifierDelegate.mm
index 617619c..2b1c2a4 100644
--- a/SwifTools/Notifier/NotificationCenterNotifierDelegate.mm
+++ b/SwifTools/Notifier/NotificationCenterNotifierDelegate.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015 Isode Limited.
+ * Copyright (c) 2015-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -19,7 +19,7 @@ using namespace Swift;
- (void)userNotificationCenter:(NSUserNotificationCenter *) center didActivateNotification:(NSUserNotification *)notification {
(void)center;
- std::string identifier = NS2STDSTRING(notification.identifier);
+ std::string identifier = ns2StdString(notification.identifier);
notifier->handleUserNotificationActivated(identifier);
}