Class MediaDatabase

Definition

Namespace:
Tizen.Content.MediaContent
Assembly:
Tizen.Content.MediaContent.dll
API Level:
4

Provides the ability to connect to and manage the database.

C#
Copy
public class MediaDatabase : IDisposable
Inheritance
System.Object
MediaDatabase
Implements
System.IDisposable

Constructors

View Source

MediaDatabase()

Initializes a new instance of the MediaDatabase class.

Declaration
C#
Copy
public MediaDatabase()
API Level: 4

Properties

View Source

IsDisposed

Gets the value indicating whether the database has been disposed.

Declaration
C#
Copy
public bool IsDisposed { get; }
Property Value
Type Description
Boolean

true if the database has been disposed; otherwise, false.

API Level: 4

Methods

View Source

Connect()

Connects to the database.

Declaration
C#
Copy
public void Connect()
Exceptions
Type Condition
System.InvalidOperationException

The database is already connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

MediaDatabaseException

An error occurred while connecting.

API Level: 4
View Source

Disconnect()

Disconnects from the media database.

Declaration
C#
Copy
public void Disconnect()
Exceptions
Type Condition
System.InvalidOperationException

The database is not connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

MediaDatabaseException

An error occurred while connecting.

API Level: 4
View Source

Dispose()

Releases all the resources.

Declaration
C#
Copy
public void Dispose()
API Level: 4
View Source

Dispose(Boolean)

Disposes of the resources (other than memory) used by the MediaDatabase.

Declaration
C#
Copy
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
Boolean disposing

true to release both managed and unmanaged resources; false to release only unmanaged resources.

API Level: 4
View Source

ScanFile(String)

Requests to scan a media file.

Declaration
C#
Copy
public void ScanFile(string path)
Parameters
Type Name Description
System.String path

The path of the media to be scanned.

Remarks

It requests to scan a media file to the media server.
If the specified file is not registered to the database yet, the media file information will be added to the database.
If it is already registered to the database, the media information is refreshed.
If the specified file does not exist, the record of the media file will be deleted from the database.

If you want to access internal storage, you should add privilege http://tizen.org/privilege/mediastorage.
If you want to access external storage, you should add privilege http://tizen.org/privilege/externalstorage.

If http://tizen.org/feature/content.scanning.others feature is not supported and the specified file is other-type, System.NotSupportedException will be thrown.

Exceptions
Type Condition
System.InvalidOperationException

The database is not connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

System.ArgumentNullException

path is null.

System.ArgumentException

path is a zero-length string, contains only white space.
-or-
path contains a hidden path that starts with '.'.
-or-
path contains a directory containing the ".scan_ignore" file.

UnauthorizedAccessException

The caller has no required privilege.

System.NotSupportedException

The required feature is not supported.

API Level: 4
Privilege Level: public
Privilege: http://tizen.org/privilege/content.writehttp://tizen.org/privilege/mediastoragehttp://tizen.org/privilege/externalstorage
View Source

ScanFolderAsync(String)

Requests to scan a folder recursively.

Declaration
C#
Copy
public Task ScanFolderAsync(string folderPath)
Parameters
Type Name Description
System.String folderPath

The path to scan.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous scan operation.

Remarks

If you want to access internal storage, you should add privilege http://tizen.org/privilege/mediastorage.
If you want to access external storage, you should add privilege http://tizen.org/privilege/externalstorage.

Exceptions
Type Condition
System.InvalidOperationException

The database is not connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

UnauthorizedAccessException

The caller has no required privilege.

System.ArgumentNullException

folderPath is null.

System.ArgumentException

folderPath is a zero-length string, contains only white space.
-or-
folderPath contains a hidden path that starts with '.'.
-or-
folderPath contains a directory containing the ".scan_ignore" file.

API Level: 4
Privilege Level: public
Privilege: http://tizen.org/privilege/content.writehttp://tizen.org/privilege/mediastoragehttp://tizen.org/privilege/externalstorage
View Source

ScanFolderAsync(String, Boolean)

Requests to scan a folder.

Declaration
C#
Copy
public Task ScanFolderAsync(string folderPath, bool recursive)
Parameters
Type Name Description
System.String folderPath

The path to scan.

Boolean recursive

The value indicating if the folder is to be recursively scanned.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous scan operation.

Remarks

If you want to access internal storage, you should add privilege http://tizen.org/privilege/mediastorage.
If you want to access external storage, you should add privilege http://tizen.org/privilege/externalstorage.

Exceptions
Type Condition
System.InvalidOperationException

The database is not connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

UnauthorizedAccessException

The caller has no required privilege.

System.ArgumentNullException

folderPath is null.

System.ArgumentException

folderPath is a zero-length string, contains only white space.
-or-
folderPath contains a hidden path that starts with '.'.
-or-
folderPath contains a directory containing the ".scan_ignore" file.

API Level: 4
Privilege Level: public
Privilege: http://tizen.org/privilege/content.writehttp://tizen.org/privilege/mediastoragehttp://tizen.org/privilege/externalstorage
View Source

ScanFolderAsync(String, Boolean, CancellationToken)

Requests to scan a folder.

Declaration
C#
Copy
public Task ScanFolderAsync(string folderPath, bool recursive, CancellationToken cancellationToken)
Parameters
Type Name Description
System.String folderPath

The path to scan.

Boolean recursive

The value indicating if the folder is to be recursively scanned.

System.Threading.CancellationToken cancellationToken

The token to stop scanning.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous scan operation.

Remarks

If you want to access internal storage, you should add privilege http://tizen.org/privilege/mediastorage.
If you want to access external storage, you should add privilege http://tizen.org/privilege/externalstorage.

Exceptions
Type Condition
System.InvalidOperationException

The database is not connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

UnauthorizedAccessException

The caller has no required privilege.

System.ArgumentNullException

folderPath is null.

System.ArgumentException

folderPath is a zero-length string, contains only white space.
-or-
folderPath contains a hidden path that starts with '.'.
-or-
folderPath contains a directory containing the ".scan_ignore" file.

API Level: 4
Privilege Level: public
Privilege: http://tizen.org/privilege/content.writehttp://tizen.org/privilege/mediastoragehttp://tizen.org/privilege/externalstorage
View Source

ScanFolderAsync(String, CancellationToken)

Requests to scan a folder recursively.

Declaration
C#
Copy
public Task ScanFolderAsync(string folderPath, CancellationToken cancellationToken)
Parameters
Type Name Description
System.String folderPath

The path to scan.

System.Threading.CancellationToken cancellationToken

The token to stop scanning.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous scan operation.

Remarks

If you want to access internal storage, you should add privilege http://tizen.org/privilege/mediastorage.
If you want to access external storage, you should add privilege http://tizen.org/privilege/externalstorage.

Exceptions
Type Condition
System.InvalidOperationException

The database is not connected.

ObjectDisposedException

The MediaDatabase has already been disposed.

UnauthorizedAccessException

The caller has no required privilege.

System.ArgumentNullException

folderPath is null.

System.ArgumentException

folderPath is a zero-length string, contains only white space.
-or-
folderPath contains a hidden path that starts with '.'.
-or-
folderPath contains a directory containing the ".scan_ignore" file.

API Level: 4
Privilege Level: public
Privilege: http://tizen.org/privilege/content.writehttp://tizen.org/privilege/mediastoragehttp://tizen.org/privilege/externalstorage

Events

View Source

FolderUpdated

Occurs when there is a change for the folder in the database.

Declaration
C#
Copy
public static event EventHandler<FolderUpdatedEventArgs> FolderUpdated
Event Type
Type Description
System.EventHandler<FolderUpdatedEventArgs>
API Level: 4
View Source

MediaInfoUpdated

Occurs when there is a change for media in the database.

Declaration
C#
Copy
public static event EventHandler<MediaInfoUpdatedEventArgs> MediaInfoUpdated
Event Type
Type Description
System.EventHandler<MediaInfoUpdatedEventArgs>
API Level: 4

Implements

System.IDisposable