Location:
D32DBMS.H
Link against: edbms.lib
class RDbNotifier;
Provides notification of database changes to clients.
This is useful for shared databases.
Defined in RDbNotifier
:
Cancel()
, Close()
, EClose
, ECommit
, ERecover
, ERollback
, EUnlock
, NotifyChange()
, NotifyUnlock()
, Open()
, TEvent
IMPORT_C TInt Open(RDbDatabase &aDatabase);
Opens a DBMS change notifier on a database.
Note that a notifier cannot be opened on a client side database.
|
|
IMPORT_C void Close();
Closes a DBMS change notifier. Any outstanding notification request is automatically cancelled.
Note that this function can be called on a DBMS change notifier that has already been closed.
IMPORT_C void NotifyUnlock(TRequestStatus &aStatus);
Makes an asynchronous request for notification of a database event. All events, including the release of all read locks, are reported.
When a database event occurs, the request completes and the TRequestStatus
objectcontains one of the enumerators defined by the TEvent enumeration member.
Alternatively, if an outstanding request is cancelled by a call to the Cancel()
member function of this class, then the request completes with KErrCancel.
Only one notification request can be outstanding on this notifier at any one time.
Note that if further database events occur while a client is handling a request completion, the notifier records the most
significant database event and this is signalled as soon as the client issues the next NotifyUnlock()
or NotifyChange()
request.
|
IMPORT_C void NotifyChange(TRequestStatus &aStatus);
Makes an asynchronous request for notification of changes to the database.
All events which indicate a change to the database are reported; in practice, this means all database events except RDbNotifier::EUnlock
.
When a change event occurs, the request completes and the TRequestStatus
object contains one of the appropriate enumerators defined by the TEvent enumeration member.
Alternatively, if an outstanding request is cancelled by a call to the Cancel()
member function of this class, then the request completes with KErrCancel.
Only one notification request can be outstanding on this notifier at any one time.
Note that if further database events occur while a client is handling a request completion, the notifier records the most
significant database event and this is signalled as soon as the client issues the next NotifyUnlock()
or NotifyChange()
request.
|
IMPORT_C void Cancel();
Cancels any outstanding notification request to this DBMS notifier.
The outstanding request completes with a KErrCancel.
TEvent
Defines the events which may be reported by a DBMS change notifier through this RDbNotifier object.
Each enumerator corresponds to a distinct event type.
The changes are reported through a TRequestStatus
object when an outstanding notification request completes.
Notes
If further database events occur while a client is handling the completion of a previous event, the notifier remembers the most significant event. The order of importance is:
ERecover > ERollback > ECommit
where the symbol > means "is more important than"
|