/// <summary>
/// Interop for Account class APIs
/// </summary>
+/// <since_tizen> 3 </since_tizen>
internal static partial class Interop
{
/// <summary>
/// Interop for Account class APIs
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
internal static partial class Account
{
[DllImport(Libraries.AccountSvc, EntryPoint = "account_create", CallingConvention = CallingConvention.Cdecl)]
/// <summary>
/// Interop for AccountProvider class APIs
/// </summary>
+/// <since_tizen> 3 </since_tizen>
internal static partial class Interop
{
/// <summary>
/// Interop for AccountProvider class APIs
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
internal static partial class AccountProvider
{
/// <summary>
/// Interop for Account class APIs
/// </summary>
+/// <since_tizen> 3 </since_tizen>
internal static partial class Interop
{
/// <summary>
/// Interop for Account class APIs
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
internal static partial class AccountService
{
[DllImport(Libraries.AccountSvc, EntryPoint = "account_update_to_db_by_id", CallingConvention = CallingConvention.Cdecl)]
/// <summary>
/// Interop for Library reference
/// </summary>
+/// <since_tizen> 3 </since_tizen>
internal static partial class Interop
{
/// <summary>
/// Interop for Library reference
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
internal static partial class Libraries
{
public const string AccountSvc = "libaccounts-svc.so.0";
/// <summary>
/// Represents the Account Information.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class Account : IDisposable
{
private IntPtr _handle = IntPtr.Zero;
/// <summary>
/// Creates a new Account instance.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>Account Instance.</returns>
public static Account CreateAccount()
{
/// <summary>
/// Id of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>Account Id shall be created only when account is added to the database.</remarks>
public int AccountId
{
/// <summary>
/// UserName of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>User Name of the Account.</value>
public string UserName
{
/// <summary>
/// Display Name of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>DisplayName of the Account.</value>
public string DisplayName
{
/// <summary>
/// Icon path of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Icon path of the Account.</value>
public string IconPath
{
/// <summary>
/// Domain name of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Domain name of the Account.</value>
public string DomainName
{
/// <summary>
/// Email Id of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Email Id of the Account.</value>
public string EmailId
{
/// <summary>
/// Package Name of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Package Name.</value>
public string PackageName
{
/// <summary>
/// Access Token of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Access Token.</value>
public string AccessToken
{
/// <summary>
/// Authentication type of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Authentication type.</value>
public AccountAuthType AuthType
{
/// <summary>
/// Secrecy State of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Secrecy State.</value>
public AccountSecrecyState SecrecyState
{
/// <summary>
/// Sync State of the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Sync State.</value>
public AccountSyncState SyncState
{
/// <summary>
/// Source of the Account .
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>Account Source.</value>
public string Source
{
/// <summary>
/// Sets the account capability.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="capabilityType"> The Account capability type</param>
/// <param name="state">The Account capability state</param>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Gets all the capabilities of an account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="capabilityType"> The capability type to get the capability value.</param>
/// <returns>The capability value (on/off) of the specified CapabilityState .</returns>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Gets all the capabilities of an account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>List of Cpabailities as Dictionary</returns>
public Dictionary<string, CapabilityState> GetAllCapabilities()
{
/// <summary>
/// Sets the Custom Value to the Account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="key">key to be added to the Account.</param>
/// <param name="value">value to be updated for respective key for the Account.</param>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Gets the user specific custom text of an account key.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="key">The key to retrieve custom text .</param>
/// <returns>The text of the given key</returns>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Gets All the custome values.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>List of custom key, value pairs as Dictionary.</returns>
public Dictionary<string, string> GetAllCustomValues()
{
/// <summary>
/// Sets the user text.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index">The index of the user text (must be in range from 0 to 4) </param>
/// <param name="text">The text string to set as the user text</param>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Gets the user text.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index">The index of the user text (range: 0 ~ 4)</param>
/// <returns>The user text of the given key</returns>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Gets the user int value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index">The index of the user int (range: 0 ~ 4)</param>
/// <returns>The user int of the given key</returns>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Sets the user integer value.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="index">The index of the user integer (must be in range from 0 to 4) </param>
/// <param name="value">The integer to set as the user integer</param>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <summary>
/// Overloaded Dispose API for destroying the Account Handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <summary>
/// Enumeration for the state of capability
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum CapabilityState
{
/// <summary>
/// Account capability is invalid
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
InvalidState,
/// <summary>
/// Account capability is disabled
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Disabled,
/// <summary>
/// Account capability is enabled
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Enabled
}
/// <summary>
/// Account secrecy is invalid
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
InvalidState,
/// <summary>
/// Account is not visible
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Invisible,
/// <summary>
/// Account is visible
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Visible
}
/// <summary>
/// Enumeration for the account sync status.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AccountSyncState
{
/// <summary>
/// Account sync is invalid
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
InvalidState,
/// <summary>
/// Account sync not supported
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
NotSupported,
/// <summary>
/// Account sync supported but all synchronization functionalities are off
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Off,
/// <summary>
/// Account sync support and sync status is idle
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Idle,
/// <summary>
/// Account sync support and sync status is running
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Running
}
/// <summary>
/// Enumeration for the account auth type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AccountAuthType
{
/// <summary>
/// Auth type is invalid
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Invalid,
/// <summary>
/// XAuth type
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
XAuth,
/// <summary>
/// OAuth type
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
OAuth,
/// <summary>
/// Client-Login type
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
ClientLogin
}
/// <summary>
/// Account information change notification type
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// When the account database is changed, You can distinguish one event type from the other which are set for subscribing notification.
/// </remarks>
/// <summary>
/// The insert notification type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Insert,
/// <summary>
/// The delete notification type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Delete,
/// <summary>
/// The update notification type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Update,
/// <summary>
/// The sync update notification type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
syncUpdate
}
}
/// <summary>
/// Enum to give the type of error occured, if any.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum AccountError
{
//TIZEN_ERROR_ACCOUNT = -0x01000000
/// <summary>
/// Successful.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
None = Tizen.Internals.Errors.ErrorCode.None,
/// <summary>
/// Invalid parameter.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
/// <summary>
/// Out of memory.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
/// <summary>
/// Same user name exists in your application
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
Duplcated = -0x01000000 | 0x01,
/// <summary>
/// Empty Data
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
NoData = Tizen.Internals.Errors.ErrorCode.NoData,
/// <summary>
/// elated record does not exist
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
RecordNotFound = -0x01000000 | 0x03,
/// <summary>
/// Invalid Operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
InvalidOperation = Tizen.Internals.Errors.ErrorCode.InvalidOperation,
/// <summary>
/// DB operation failed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
DBFailed = -0x01000000 | 0x04,
/// <summary>
/// DB is not connected.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
DBNotOpened = -0x01000000 | 0x05,
/// <summary>
/// DB query syntax error
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
QuerySyntaxError = -0x01000000 | 0x06,
/// <summary>
/// Iterator has reached the end
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
IteratorEnd = -0x01000000 | 0x07,
/// <summary>
/// Notification failed
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
NotificationFailed = -0x01000000 | 0x08,
/// <summary>
/// Permission denied.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied,
/// <summary>
/// XML parse failed
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
XMLParseFailed = -0x01000000 | 0x0a,
/// <summary>
/// XML File not found
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
XMLFileNotFound = -0x01000000 | 0x0b,
/// <summary>
/// Subscription failed
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
EventSubscriptionFailed = -0x01000000 | 0x0c,
/// <summary>
/// Account provider is not registered
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
ProviderNotRegistered = -0x01000000 | 0x0d,
/// <summary>
/// Multiple accounts are not supported.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
MultipleNotAllowed = -0x01000000 | 0x0e,
/// <summary>
/// SQLite busy handler expired
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
DBBusy = -0x01000000 | 0x10
};
/// <summary>
/// Account Id.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AccountProvider : IDisposable
{
internal IntPtr _handle;
/// <summary>
/// Account Id.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string AppId
{
get
/// <summary>
/// Serviceprovider Id of the account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string ServiceProviderId
{
get
/// <summary>
/// Icon path of an account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string IconPath
{
get
/// <summary>
/// Small icon path of an account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public string SmallIconPath
{
get
/// <summary>
/// Flag for account provider If supports multiple accounts.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool MultipleAccountSupport
{
get
/// <summary>
/// Retrieves all the capability information of the account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <returns>
/// list of capability information.
/// <summary>
/// Gets the specific label information detail of an account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="locale">
/// The locale is specified as an ISO 3166 alpha-2 two letter country-code followed by ISO 639-1 for the two-letter language code.
/// For example, "ko_KR" or "ko-kr" for Korean, "en_US" or "en-us" for American English.
/// <summary>
/// Gets the specific label information detail of an account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="appId">
/// The application ID to search
/// </param>
/// <summary>
/// Gets the label information detail of an account provider.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns> All the labels information for the given account provider.</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <exception cref="InvalidOperationException">In case of any DB error</exception>
/// <summary>
/// Checks whether the given appId exists in the account provider DB.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="appId">The application ID to check.</param>
/// <returns>returns true If App is supported </returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Checks whether the given application ID supports the capability.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="appId">The application Id</param>
/// <param name="capability">The capability information</param>
/// <returns>
/// <summary>
/// Retrieves capability information with application ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="appId">application Id</param>
/// <returns> Capability information list for the given appId.</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Overloaded Dispose API for destroying the AccountProvider Handle.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
/// <item> Read an account or account provider with some filter </item>
/// </list>
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static class AccountService
{
/// <summary>
/// This is contact capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string ContactCapability = "http://tizen.org/account/capability/contact";
/// <summary>
/// This is calendar capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string CalendarCapability = "http://tizen.org/account/capability/calendar";
/// <summary>
/// This is email capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string EmailCapability = "http://tizen.org/account/capability/email";
/// <summary>
/// This is photo capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string PhotoCapability = "http://tizen.org/account/capability/photo";
/// <summary>
/// This is video capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string VideoCapability = "http://tizen.org/account/capability/video";
/// <summary>
/// This is music capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string MusicCapability = "http://tizen.org/account/capability/music";
/// <summary>
/// This is document capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string DocumentCapability = "http://tizen.org/account/capability/document";
/// <summary>
/// This is message capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string MessageCapability = "http://tizen.org/account/capability/message";
/// <summary>
/// This is game capability string.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public static readonly string GameCapability = "http://tizen.org/account/capability/game";
/// <summary>
/// Retrieves all accounts details from the account database.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>List of Accounts</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <exception cref="InvalidOperationException">In case of any DB error. </exception>
/// <summary>
/// Retrieve an account with the account ID.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="accountId"> The account Id to be searched.</param>
/// <returns>Account instance with reference to the given id.</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Retrieves all AccountProviders details from the account database.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>List of AccountProviders</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <exception cref="InvalidOperationException">In case of any DB error</exception>
/// <summary>
/// Retrieves the account provider information with application Id.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="appId">Application Id.</param>
/// <returns>The AccountProvider instance associated with the given application Id.</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Retrieves all the account providers information with feature.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="feature">The capability value to search for account providers.</param>
/// <returns>Retrieves AccountProviders information with the capability name.</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Inserts into the Database with the new account Infomration.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="account">New Account instance to be added.</param>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <privilege>http://tizen.org/privilege/account.write </privilege>
/// <summary>
/// Updates the account details to the account database.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="account">account instance to be updated.</param>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <privilege>http://tizen.org/privilege/account.write </privilege>
/// <summary>
/// Deletes the account information from the Database.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="account">Account instance to be deleted from the database.</param>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <privilege>http://tizen.org/privilege/account.write </privilege>
/// <summary>
/// Deletes an account from the account database by user name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="userName">The user name of the account to delete.</param>
/// <param name="packageName">The package name of the account to delete.</param>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Deletes an account from the account database by package name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="packageName">The package name of the account to delete.</param>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <privilege>http://tizen.org/privilege/account.write </privilege>
/// <summary>
/// Retrieves all accounts with the given user name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="userName">The user name to search .</param>
/// <returns>Accounts list matched with the user name</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Retrieves all accounts with the given package name.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="packageName"> The package name to Search</param>
/// <returns>Accounts list matched with the package name</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Retrieves all accounts with the given cpability type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="type"> Capability type</param>
/// <returns>Accounts list matched with the capability type</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Retrieves all capabilities with the given account
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="accountId">account instance</param>
/// <returns>Capabilities list as Dictionary of Capability type and State.</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// Gets the count of accounts in the account database.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>The number of accounts in the database</returns>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <exception cref="InvalidOperationException">In case of any DB error </exception>
/// <summary>
/// Updates the sync status of the given account.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="account"> Account for which sync status needs to be updated</param>
/// <param name="status">Sync State</param>
/// <privilege>http://tizen.org/privilege/account.read</privilege>
/// <summary>
/// ContentUpdated event is triggered when the media item info from DB changes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// ContentUpdate event is triggered if the MediaInformaion updated/deleted or new Inforamtion is Inserted.
/// </remarks>
/// <summary>
/// Event arguments passed when Event is triggered to notify that account is updated/removed from the account database.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public class AccountSubscriberEventArgs : EventArgs
{
private const string NotiInsert = "insert";
/// <summary>
/// The account event type
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AccountNotificationType EventType
{
get;
/// <summary>
/// The account ID to update
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int AccountId
{
get;