~zeller-benjamin/qtcreator-plugin-ubuntu/qtc41-beta

« back to all changes in this revision

Viewing changes to src/ubuntu/ubuntuclickmanifest.h

  • Committer: Juhapekka Piiroinen
  • Date: 2013-09-04 15:30:00 UTC
  • mto: (23.1.14 binary-plugin)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: juhapekka.piiroinen@canonical.com-20130904153000-r4lhfhrjlwmop277
Added cordova plugin from ubuntu-qtcreator-plugins.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2013 Canonical Ltd.
 
3
 *
 
4
 * This program is free software; you can redistribute it and/or modify
 
5
 * it under the terms of the GNU Lesser General Public License as published by
 
6
 * the Free Software Foundation; version 2.1.
 
7
 *
 
8
 * This program is distributed in the hope that it will be useful,
 
9
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 * GNU Lesser General Public License for more details.
 
12
 *
 
13
 * You should have received a copy of the GNU Lesser General Public License
 
14
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
 
17
 */
 
18
 
 
19
#ifndef UBUNTUCLICKMANIFEST_H
 
20
#define UBUNTUCLICKMANIFEST_H
 
21
 
 
22
#include <QObject>
 
23
#include <QScriptProgram>
 
24
#include <QScriptEngine>
 
25
#include <QStringList>
 
26
 
 
27
namespace Ubuntu {
 
28
namespace Internal {
 
29
 
 
30
class UbuntuClickManifest : public QObject
 
31
{
 
32
    Q_OBJECT
 
33
public:
 
34
    explicit UbuntuClickManifest(QObject *parent = 0);
 
35
 
 
36
signals:
 
37
    void nameChanged();
 
38
    void maintainerChanged();
 
39
    void titleChanged();
 
40
    void policyGroupsChanged();
 
41
    void saved();
 
42
    void loaded();
 
43
    void error();
 
44
    void fileNameChanged(QString);
 
45
 
 
46
public slots:
 
47
    void setName(QString name);
 
48
    QString name();
 
49
 
 
50
    void setMaintainer(QString maintainer);
 
51
    QString maintainer();
 
52
 
 
53
    void setTitle(QString title);
 
54
    QString title();
 
55
 
 
56
    void setPolicyGroups(QString appName, QStringList groups);
 
57
    QStringList policyGroups(QString appName);
 
58
 
 
59
    void save() { save(m_fileName); }
 
60
    void save(QString fileName);
 
61
    void load(QString fileName, QString projectName);
 
62
    void reload();
 
63
 
 
64
    QString raw();
 
65
    void setRaw(QString);
 
66
 
 
67
    QString fileName() { return m_fileName; }
 
68
    void setFileName(QString fileName) { m_fileName = fileName; emit fileNameChanged(fileName); }
 
69
 
 
70
    bool isInitialized() { return m_bInitialized; }
 
71
    void nameDashReplaced(){ m_bNameDashReplaced = true; }
 
72
 
 
73
protected:
 
74
    void callSetFunction(QString functionName, QScriptValueList args);
 
75
    void callSetStringListFunction(QString functionName, QStringList args);
 
76
    void callSetStringFunction(QString functionName, QString args);
 
77
    void callSetFunction(QString functionName, QString arg, QStringList args);
 
78
 
 
79
    QScriptValue callGetFunction(QString functionName, QScriptValueList args);
 
80
    QStringList callGetStringListFunction(QString functionName);
 
81
    QStringList callGetStringListFunction(QString functionName, QString args);
 
82
    QString callGetStringFunction(QString functionName);
 
83
 
 
84
    QScriptValue callFunction(QString functionName, QScriptValueList args);
 
85
 
 
86
    QScriptProgram m_manifestJsApp;
 
87
    QScriptEngine engine;
 
88
 
 
89
    QString m_userName;
 
90
 
 
91
    QString m_fileName;
 
92
    QString m_projectName;
 
93
 
 
94
    bool m_bInitialized;
 
95
    bool m_bNameDashReplaced;
 
96
};
 
97
 
 
98
}
 
99
}
 
100
 
 
101
#endif // UBUNTUCLICKMANIFEST_H