blob: dda0e7905b0475b4014c2ceef4430e9ecaa2cba4 [file] [log] [blame]
Alexander Afanasyev5a95a252013-02-25 12:55:48 -08001/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
2/*
3 * Copyright (c) 2013 University of California, Los Angeles
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Author: Zhenkai Zhu <zhenkai@cs.ucla.edu>
19 * Alexander Afanasyev <alexander.afanasyev@ucla.edu>
20 */
21
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080022#include "sparkle-auto-update.h"
Alexander Afanasyev5a95a252013-02-25 12:55:48 -080023#import <Foundation/Foundation.h>
Alexander Afanasyeve8496a32013-03-03 16:10:43 -080024#import <AppKit/AppKit.h>
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080025#import <Sparkle/Sparkle.h>
Alexander Afanasyeve8496a32013-03-03 16:10:43 -080026
27#include "logging.h"
28
29INIT_LOGGER ("SparkeAutoUpdate");
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080030
31class SparkleAutoUpdate::Private
32{
Alexander Afanasyeve8496a32013-03-03 16:10:43 -080033public:
34 SUUpdater *updater;
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080035};
36
37SparkleAutoUpdate::SparkleAutoUpdate(const QString &updateUrl)
38{
39 d = new Private;
Zhenkai Zhu3857d712013-02-27 22:51:25 -080040 d->updater = [[SUUpdater sharedUpdater] retain];
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080041 NSURL *url = [NSURL URLWithString: [NSString stringWithUTF8String: updateUrl.toUtf8().data()]];
42 [d->updater setFeedURL: url];
Zhenkai Zhu69267922013-03-01 10:08:20 -080043 [d->updater setAutomaticallyChecksForUpdates: YES];
44 [d->updater setUpdateCheckInterval: 86400];
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080045}
46
47SparkleAutoUpdate::~SparkleAutoUpdate()
48{
Zhenkai Zhu3857d712013-02-27 22:51:25 -080049 [d->updater release];
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080050 delete d;
51 // presummably SUUpdater handles garbage collection
52}
53
54void SparkleAutoUpdate::checkForUpdates()
55{
Zhenkai Zhu6afa1e02013-02-28 20:37:14 -080056 //[d->updater checkForUpdatesInBackground];
57 [d->updater checkForUpdates : nil];
Alexander Afanasyeve8496a32013-03-03 16:10:43 -080058 _LOG_DEBUG ("++++++++ checking update +++++");
Zhenkai Zhuaca6cb52013-02-24 23:34:03 -080059}