]> git.sur5r.net Git - minitube/blobdiff - src/jsfunctions.h
2.5.2
[minitube] / src / jsfunctions.h
index 0f8ff21be335a908cb212fb73cf20407e7b61d92..174e6ff4506ac278cbef48ec99bc0cd07be8a67f 100644 (file)
@@ -31,20 +31,38 @@ class JsFunctions : public QObject {
 
 public:
     static JsFunctions* instance();
+    JsFunctions(const QString &url, QObject *parent = 0);
+    QScriptValue evaluate(const QString &js);
+    QString string(const QString &js);
+    QStringList stringArray(const QString &js);
+
+    // Specialized functions
+    // TODO move to subclass
     QString decryptSignature(const QString &s);
+    QString decryptAgeSignature(const QString &s);
+    QString videoIdRE();
+    QString videoTokenRE();
+    QString videoInfoFmtMapRE();
+    QString webPageFmtMapRE();
+    QString ageGateRE();
+    QString jsPlayerRE();
+    QString signatureFunctionNameRE();
+    QStringList apiKeys();
+
+signals:
+    void ready();
 
 private slots:
-    void gotJs(QByteArray bytes);
+    void gotJs(const QByteArray &bytes);
     void errorJs(QNetworkReply *reply);
 
 private:
-    JsFunctions(QObject *parent = 0);
-    static const QLatin1String &jsFilename();
-    static const QString &jsPath();
+    QString jsFilename();
+    QString jsPath();
     void loadJs();
     void parseJs(const QString &js);
-    QString evaluateFunction(const QString &function);
 
+    QString url;
     QScriptEngine *engine;
 };