~ubuntuone-hackers/clickmanager-plugin/trunk

« back to all changes in this revision

Viewing changes to src/clickmanager.cpp

  • Committer: Tarmac
  • Author(s): Diego Sarmentero
  • Date: 2013-10-07 11:11:42 UTC
  • mfrom: (12.1.28 clickmanager-plugin)
  • Revision ID: tarmac-20131007111142-xk25czkiyiucshsp
- Add x-click-token support. Fixes: https://bugs.launchpad.net/bugs/1231422.

Approved by Manuel de la Peña, PS Jenkins bot, Alejandro J. Cura.

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
                  this, SLOT(processUpdates()));
42
42
    QObject::connect(&(this->m_network), SIGNAL(updatesNotFound()),
43
43
                  this, SIGNAL(updatesNotFound()));
 
44
    QObject::connect(&(this->m_network), SIGNAL(errorOccurred()),
 
45
                  this, SIGNAL(errorFound()));
 
46
    QObject::connect(&(this->m_network), SIGNAL(clickTokenObtained(Application*, const QString&)),
 
47
                  this, SLOT(clickTokenReceived(Application*,const QString&)));
44
48
    QObject::connect(&(this->m_network), SIGNAL(downloadUrlFound(QString,QString)),
45
49
                  this, SLOT(downloadUrlObtained(QString,QString)));
46
50
    QObject::connect(&(this->downloader), SIGNAL(downloadCreated(QString,QString)),
70
74
 
71
75
void ClickManager::checkUpdates()
72
76
{
 
77
    this->m_model.clear();
 
78
    emit this->modelChanged();
73
79
    this->m_service.getCredentials();
74
80
}
75
81
 
105
111
    }
106
112
 
107
113
    emit this->modelChanged();
 
114
    emit this->updateAvailableFound();
108
115
}
109
116
 
110
117
void ClickManager::startDownload(QString packagename)
116
123
void ClickManager::downloadUrlObtained(QString packagename, QString url)
117
124
{
118
125
    if(this->m_token.isValid()) {
119
 
        QString authHeader = this->m_token.signUrl(url, QStringLiteral("GET"));
 
126
        QString authHeader = this->m_token.signUrl(url, QStringLiteral("HEAD"), true);
120
127
        qDebug() << "Download Url:" << url;
121
 
        this->m_apps[packagename]->setError("");
122
 
        this->downloader.startDownload(packagename, url, authHeader);
 
128
        Application* app = this->m_apps[packagename];
 
129
        app->setClickUrl(url);
 
130
        this->m_network.getClickToken(app, url, authHeader);
123
131
    } else {
124
132
        Application* app = this->m_apps[packagename];
125
133
        app->setError("Invalid User Token");
135
143
 
136
144
void ClickManager::downloadNotCreated(QString packagename, QString error)
137
145
{
 
146
    qDebug() << "Download not creeated";
138
147
    Application* app = this->m_apps[packagename];
139
148
    app->setError(error);
140
149
}
141
150
 
 
151
void ClickManager::clickTokenReceived(Application* app, const QString& clickToken)
 
152
{
 
153
    app->setError("");
 
154
    this->downloader.startDownload(app->getPackageName(), app->getClickUrl(), clickToken);
 
155
}
 
156
 
142
157
}