ShareOnInternet.h 2.38 KB
Newer Older
1 2 3
/******************************************************************************
 * ShareOnInternet.h: Configure Video Export to Internet
 ******************************************************************************
4
 * Copyright (C) 2008-2016 VideoLAN
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 *
 * Authors: Rohit Yadav <rohityadav89@gmail.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 *****************************************************************************/

#ifndef SHAREONINTERNET_H
#define SHAREONINTERNET_H

#include <QDialog>
27
#include "ui/ShareOnInternet.h"
28 29

class AbstractSharingService;
30
struct AbstractVideoData;
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

class ShareOnInternet : public QDialog
{
    Q_OBJECT

    enum ServiceProviders
    {
        YOUTUBE = 0,
        VIMEO
    };

    public:
        ShareOnInternet( QWidget* parent = 0 );
        ~ShareOnInternet();

        QString                  getUsername() const;
        QString                  getPassword() const;
48
        AbstractVideoData        getVideoData() const;
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73

        void                     setVideoFile( QString& fileName );

    private:
        void                     publish();

        Ui::ShareOnInternet      m_ui;
        AbstractSharingService*  m_service;
        int                      m_serviceProvider;
        QString                  m_devKey;
        QString                  m_fileName;

    private slots:
        void                     accept();
        void                     authFinished();
        void                     uploadFinished( QString );
        void                     uploadProgress( qint64, qint64 );
        void                     serviceError( QString );

    signals:
        void                     error( QString );
        void                     finished();
};

#endif // SHAREONINTERNET_H