Editing the documentation for consistency
[accounts-sso:vitalyrepins-signon.git] / lib / signond / SignOn / extension-interface.h
1 /*
2  * This file is part of signon
3  *
4  * Copyright (C) 2010 Nokia Corporation.
5  *
6  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * version 2.1 as published by the Free Software Foundation.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  */
22 /*!
23  * @copyright Copyright (C) 2009-2011 Nokia Corporation.
24  * @license LGPL
25  */
26
27 #ifndef SIGNON_EXTENSION_INTERFACE_H
28 #define SIGNON_EXTENSION_INTERFACE_H
29
30 #include <QObject>
31 #include <QtPlugin>
32
33 namespace SignOn {
34
35 class AbstractKeyManager;
36
37 /*!
38  * @class ExtensionInterface.
39  * Interface definition for signond extensions.
40  */
41 class ExtensionInterface
42 {
43 public:
44     virtual ~ExtensionInterface() {}
45
46     /*!
47      * Gets the KeyManager object.
48      *
49      * @return A key manager object, or 0 if none is provided by this plugin
50      */
51     virtual AbstractKeyManager *keyManager(QObject *parent = 0) const = 0;
52 };
53
54 } // namespace
55
56 Q_DECLARE_INTERFACE(SignOn::ExtensionInterface,
57                     "com.nokia.SingleSignOn.ExtensionInterface/1.0")
58
59 #endif // SIGNON_EXTENSION_INTERFACE_H