forked from simulationcraft/simc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsc_mac_update.mm
53 lines (43 loc) · 958 Bytes
/
sc_mac_update.mm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "sc_autoupdate.h"
#include <AppKit/AppKit.h>
#include <Cocoa/Cocoa.h>
#include <Sparkle/Sparkle.h>
class CocoaInitializer::Private
{
public:
NSAutoreleasePool* autoReleasePool_;
};
CocoaInitializer::CocoaInitializer()
{
d = new CocoaInitializer::Private();
NSApplicationLoad();
d->autoReleasePool_ = [[NSAutoreleasePool alloc] init];
}
CocoaInitializer::~CocoaInitializer()
{
[d->autoReleasePool_ release];
delete d;
}
class SparkleAutoUpdater::Private
{
public:
SUUpdater* updater;
};
SparkleAutoUpdater::SparkleAutoUpdater(const QString& aUrl)
{
d = new Private;
d->updater = [SUUpdater sharedUpdater];
[d->updater retain];
NSURL* url = [NSURL URLWithString:
[NSString stringWithUTF8String: aUrl.toUtf8().data()]];
[d->updater setFeedURL: url];
}
SparkleAutoUpdater::~SparkleAutoUpdater()
{
[d->updater release];
delete d;
}
void SparkleAutoUpdater::checkForUpdates()
{
[d->updater checkForUpdatesInBackground];
}