diff options
Diffstat (limited to 'Sluift/ITunesInterface.mm')
-rw-r--r-- | Sluift/ITunesInterface.mm | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/Sluift/ITunesInterface.mm b/Sluift/ITunesInterface.mm index 0843aad..33cf1ca 100644 --- a/Sluift/ITunesInterface.mm +++ b/Sluift/ITunesInterface.mm @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Isode Limited. + * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -12,47 +12,47 @@ #pragma clang diagnostic pop #include <ScriptingBridge/ScriptingBridge.h> -#include <boost/smart_ptr/make_shared.hpp> +#include <memory> #include <boost/optional.hpp> #include <SwifTools/Cocoa/CocoaUtil.h> using namespace Swift; struct ITunesInterface::Private { - Private() : iTunes(nil) { - } + Private() : iTunes(nil) { + } - iTunesApplication* iTunes; + iTunesApplication* iTunes; }; -ITunesInterface::ITunesInterface() : p(boost::make_shared<Private>()) { +ITunesInterface::ITunesInterface() : p(new Private()) { } ITunesInterface::~ITunesInterface() { } boost::optional<ITunesInterface::Track> ITunesInterface::getCurrentTrack() const { - if (!haveApplication()) { - return boost::optional<ITunesInterface::Track>(); - } - iTunesTrack* currentTrack = p->iTunes.currentTrack; - if (!currentTrack) { - return boost::optional<ITunesInterface::Track>(); - } - ITunesInterface::Track result; - result.name = NS2STDSTRING(currentTrack.name); - result.artist = NS2STDSTRING(currentTrack.artist); - result.album = NS2STDSTRING(currentTrack.album); - result.trackNumber = currentTrack.trackNumber; - result.duration = currentTrack.duration; - result.rating = currentTrack.rating; - return result; + if (!haveApplication()) { + return boost::optional<ITunesInterface::Track>(); + } + iTunesTrack* currentTrack = p->iTunes.currentTrack; + if (!currentTrack) { + return boost::optional<ITunesInterface::Track>(); + } + ITunesInterface::Track result; + result.name = ns2StdString(currentTrack.name); + result.artist = ns2StdString(currentTrack.artist); + result.album = ns2StdString(currentTrack.album); + result.trackNumber = currentTrack.trackNumber; + result.duration = currentTrack.duration; + result.rating = currentTrack.rating; + return result; } bool ITunesInterface::haveApplication() const { - if (!p->iTunes) { - p->iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; - } - return p->iTunes != nil && [p->iTunes isRunning]; + if (!p->iTunes) { + p->iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"]; + } + return p->iTunes != nil && [p->iTunes isRunning]; } |