2 // Open Service Platform
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 * @file FSclAccountProvider.h
19 * @brief This is the header file for the %AccountProvider class.
21 * This header file contains the declarations of the %AccountProvider class.
23 #ifndef _FSCL_ACCOUNT_PROVIDER_H_
24 #define _FSCL_ACCOUNT_PROVIDER_H_
26 #include <FAppTypes.h>
27 #include <FBaseResult.h>
28 #include <FBaseObject.h>
29 #include <FSclTypes.h>
31 namespace Tizen { namespace Base
40 namespace Tizen { namespace Social
44 * @class AccountProvider
45 * @brief This class represents the account provider information.
48 * @final This class is not intended for extension.
50 * The %AccountProvider class provides the account provider information.
52 class _OSP_EXPORT_ AccountProvider
53 : public Tizen::Base::Object
57 * This is the default constructor for this class. @n
58 * It creates a fully initialized instance of the %AccountProvider class.
62 AccountProvider(void);
65 * Copying of objects using this copy constructor is allowed.
69 * @param[in] rhs An instance of %AccountProvider
71 AccountProvider(const AccountProvider& rhs);
74 * This destructor overrides Tizen::Base::Object::~Object().
78 virtual ~AccountProvider(void);
81 * Checks whether the value of the specified instance is equal to the value of the current instance.
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
87 * @param[in] rhs An instance to compare
89 virtual bool Equals(const Tizen::Base::Object& rhs) const;
92 * Gets the hash value of the current instance.
96 * @return An integer value indicating the hash value of the current instance
98 virtual int GetHashCode(void) const;
101 * Gets the app ID of the application that has registered this account provider.
107 Tizen::App::AppId GetAppId(void) const;
110 * Gets a list of capabilities that an account provider owns.
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.
118 Tizen::Base::Collection::IList* GetCapabilitiesN(void) const;
121 * Gets the display name of an account provider.
125 * @return The display name
127 Tizen::Base::String GetDisplayName(void) const;
130 * Gets the icon path.
134 * @return The icon path
136 Tizen::Base::String GetIconPath(void) const;
139 * Gets the small icon path.
143 * @return The small icon path
145 Tizen::Base::String GetSmallIconPath(void) const;
148 * Checks whether an account provider supports multiple accounts.
152 * @return @c true if the account provider supports multiple accounts, @n
155 bool IsMultipleAccountSupported(void) const;
158 * Copying of objects using this copy assignment operator is allowed.
162 * @param[in] rhs An instance of %AccountProvider
164 AccountProvider& operator =(const AccountProvider& rhs);
167 friend class _AccountProviderImpl;
168 class _AccountProviderImpl* __pAccountProviderImpl;
170 }; // AccountProvider
174 #endif //_FSCL_ACCOUNT_PROVIDER_H_