provider-plugin-process.h

00001 /*
00002  * This file is part of accounts-ui
00003  *
00004  * Copyright (C) 2011 Nokia Corporation.
00005  *
00006  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
00007  *
00008  * This library is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public License
00010  * version 2.1 as published by the Free Software Foundation.
00011  *
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
00020  * 02110-1301 USA
00021  */
00027 #ifndef ACCOUNTSETUP_PROVIDER_PLUGIN_PROCESS_H
00028 #define ACCOUNTSETUP_PROVIDER_PLUGIN_PROCESS_H
00029 
00030 // libAccountSetup
00031 #include <AccountSetup/common.h>
00032 #include <AccountSetup/types.h>
00033 
00034 // Accounts
00035 #include <Accounts/Account>
00036 
00037 // Qt
00038 #include <QObject>
00039 #include <QWidget>
00040 
00041 namespace AccountSetup {
00042 class ProviderPluginProcessPrivate;
00043 
00054 class ACCOUNTSETUP_EXPORT ProviderPluginProcess: public QObject
00055 {
00056     Q_OBJECT
00057 
00058 public:
00062     ProviderPluginProcess(QObject *object = 0);
00063     virtual ~ProviderPluginProcess();
00064 
00068     static ProviderPluginProcess *instance();
00069 
00073     SetupType setupType() const;
00074 
00080     Accounts::Account *account() const;
00081 
00085     QString serviceType() const;
00086 
00091     WId parentWindowId() const;
00092 
00096     void setReturnToAccountsList(bool value);
00097 
00101     void setExitData(const QVariant &data);
00102 
00103 public Q_SLOTS:
00107     void quit();
00108 
00109 private:
00110     ProviderPluginProcessPrivate *d_ptr;
00111     Q_DECLARE_PRIVATE(ProviderPluginProcess)
00112 };
00113 
00114 } // namespace
00115 
00116 #endif // ACCOUNTSETUP_PROVIDER_PLUGIN_PROCESS_H