remove Doxygen warning
[framework/osp/social.git] / inc / FSclAccountProvider.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18  * @file        FSclAccountProvider.h
19  * @brief       This is the header file for the %AccountProvider class.
20  *
21  * This header file contains the declarations of the %AccountProvider class.
22  */
23 #ifndef _FSCL_ACCOUNT_PROVIDER_H_
24 #define _FSCL_ACCOUNT_PROVIDER_H_
25
26 #include <FAppTypes.h>
27 #include <FBaseResult.h>
28 #include <FBaseObject.h>
29 #include <FSclTypes.h>
30
31 namespace Tizen { namespace Base
32 {
33 class String;
34 namespace Collection
35 {
36 class IList;
37 }
38 }}
39
40 namespace Tizen { namespace Social
41 {
42
43 /**
44  * @class       AccountProvider
45  * @brief       This class represents the account provider information.
46  * @since       2.1
47  *
48  * @final       This class is not intended for extension.
49  *
50  *  The %AccountProvider class provides the account provider information.
51  */
52 class _OSP_EXPORT_ AccountProvider
53         : public Tizen::Base::Object
54 {
55 public:
56         /**
57          * This is the default constructor for this class. @n
58          * It creates a fully initialized instance of the %AccountProvider class.
59          *
60          * @since       2.1
61          */
62         AccountProvider(void);
63
64         /**
65          * Copying of objects using this copy constructor is allowed.
66          *
67          * @since               2.1
68          *
69          * @param[in]   rhs             An instance of %AccountProvider
70          */
71         AccountProvider(const AccountProvider& rhs);
72
73         /**
74          * This destructor overrides Tizen::Base::Object::~Object().
75          *
76          * @since       2.1
77          */
78         virtual ~AccountProvider(void);
79
80         /**
81          * Checks whether the value of the specified instance is equal to the value of the current instance.
82          *
83          * @since               2.1
84          *
85          * @return              @c true if the value of the specified instance of Tizen::Base::Object is equal to the value of the current instance, @n
86          *                                      else @c false
87          * @param[in]   rhs             An instance to compare
88          */
89         virtual bool Equals(const Tizen::Base::Object& rhs) const;
90
91         /**
92          * Gets the hash value of the current instance.
93          *
94          * @since       2.1
95          *
96          * @return      An integer value indicating the hash value of the current instance
97          */
98         virtual int GetHashCode(void) const;
99
100         /**
101          * Gets the app ID of the application that has registered this account provider.
102          *
103          * @since       2.1
104          *
105          * @return      The app ID
106          */
107         Tizen::App::AppId GetAppId(void) const;
108
109         /**
110          * Gets a list of capabilities that an account provider owns.
111          *
112          * @since       2.1
113          *
114          * @return      A list of capabilities which are predefined or the vendor-specific String defined as the IRI format, @n
115          *                              else an empty list if there is no capability, or @c null if an exception occurs (String list)
116          * @remarks     The specific error code can be accessed using the GetLastResult() method.
117          */
118         Tizen::Base::Collection::IList* GetCapabilitiesN(void) const;
119
120         /**
121          * Gets the display name of an account provider.
122          *
123          * @since       2.1
124          *
125          * @return      The display name
126          */
127         Tizen::Base::String GetDisplayName(void) const;
128
129         /**
130          * Gets the icon path.
131          *
132          * @since       2.1
133          *
134          * @return      The icon path
135          */
136         Tizen::Base::String GetIconPath(void) const;
137
138         /**
139          * Gets the small icon path.
140          *
141          * @since       2.1
142          *
143          * @return      The small icon path
144          */
145         Tizen::Base::String GetSmallIconPath(void) const;
146
147         /**
148          * Checks whether an account provider supports multiple accounts.
149          *
150          * @since       2.1
151          *
152          * @return      @c true if the account provider supports multiple accounts, @n
153          *                      else @c false
154          */
155         bool IsMultipleAccountSupported(void) const;
156
157         /**
158          * Copying of objects using this copy assignment operator is allowed.
159          *
160          * @since               2.1
161          *
162          * @param[in]   rhs             An instance of %AccountProvider
163          */
164         AccountProvider& operator =(const AccountProvider& rhs);
165
166 private:
167         friend class _AccountProviderImpl;
168         class _AccountProviderImpl* __pAccountProviderImpl;
169
170 }; // AccountProvider
171
172 }} // Tizen::Social
173
174 #endif //_FSCL_ACCOUNT_PROVIDER_H_