accounts-qt  1.2
application.h
1 /* vi: set et sw=4 ts=4 cino=t0,(0: */
2 /*
3 * This file is part of libaccounts-qt
4 *
5 * Copyright (C) 2012 Nokia Corporation.
6 *
7 * Contact: Alberto Mardegan <alberto.mardegan@canonical.com>
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public License
11 * version 2.1 as published by the Free Software Foundation.
12 *
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21 * 02110-1301 USA
22 */
23 
24 #ifndef ACCOUNTS_APPLICATION_H
25 #define ACCOUNTS_APPLICATION_H
26 
27 #include "Accounts/accountscommon.h"
28 
29 #include <QString>
30 
31 extern "C"
32 {
33  typedef struct _AgApplication AgApplication;
34 }
35 
36 namespace Accounts
37 {
38 class Service;
39 
40 class ACCOUNTS_EXPORT Application
41 {
42 public:
43  Application(const Application &other);
44  Application &operator=(const Application &other);
45  ~Application();
46 
47  bool isValid() const;
48 
49  QString name() const;
50  QString description() const;
51  QString trCatalog() const;
52 
53  QString serviceUsage(const Service &service) const;
54 
55 private:
56  // Don't include private data in docs: \cond
57  friend class Manager;
58  Application(AgApplication *authData);
59 
60  AgApplication *m_application;
61  // \endcond
62 };
63 
64 } //namespace
65 
66 #endif // ACCOUNTS_APPLICATION_H