Location:
COMMDB.H
Link against: commdb.lib
class CCommsDatabaseBase : public CBase;
Base class for CCommsDatabase
.
This class is never instantiated, but its member functions are used through the derived class.
Responsible for Transactions, Notifications, Write protection, Hidden records, Phone number resolution and Creating views. Stores the database, the session, transaction and notifier information.
CCommsDatabaseBase is an abstract base class as the CreateDatabaseL()
and Open() methods are pure virtual.
CBase
- Base class for all classes to be instantiated on the heap
CCommsDatabaseBase
- Base class for
Defined in CCommsDatabaseBase
:
BeginTransaction()
, CCommsDatabaseBase()
, CancelRequestNotification()
, CheckReadCapability()
, CheckWriteCapability()
, CommitTransaction()
, CreateDatabaseL()
, Database()
, InTransaction()
, IsDatabaseWriteLockedL()
, OpenTableLC()
, OpenViewLC()
, OpenViewMatchingBoolLC()
, OpenViewMatchingTextLC()
, OpenViewMatchingTextLC()
, OpenViewMatchingUintLC()
, RequestNotification()
, ResolvePhoneNumberFromDatabaseL()
, ResolvePhoneNumberL()
, RollbackTransaction()
, ShowHiddenRecords()
, Version()
, iDatabase
, iImpl
, iImplNotCreated
, iInInternalTransaction
, iNotifications
, iNotifier
, iNotifierOpenError
, iShowHiddenRecords
, ~CCommsDatabaseBase()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
IMPORT_C TVersion Version() const;
Gets the version from CommsDat
.
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C TInt BeginTransaction();
Marks the start of a transaction and gets a shared read-lock on the database. Other clients of the database can concurrently
acquire a shared read-lock but no client can gain an exclusive write-lock until this transaction (and any transaction started
by other clients) completes as a result of a call to either CommitTransaction()
or RollbackTransaction()
.
A transaction consists of one or more record updates and/or insertions and/or deletions. The process of making changes to
records within a view is part of CCommsDbTableView
behaviour.
|
CCommsDbTableView::InsertRecord()
CCommsDbTableView::UpdateRecord()
CCommsDbTableView::DeleteRecord()
CCommsDbTableView::PutRecordChanges()
CCommsDbTableView::CancelRecordChanges()
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C TInt CommitTransaction();
Marks the end of a transaction and commits any changes made since the start of the transaction. The client's shared read-lock is removed if no write operations were performed, or the exclusive write-lock is removed if write operations were performed.
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C void RollbackTransaction();
Marks the end of a transaction and abandons any changes made since the start of the transaction. The database is, in effect, rolled back to the state it was in at the beginning of the transaction. The client's shared read-lock is removed if no write operations were performed, or the exclusive write-lock is removed if write operations were performed.
IMPORT_C TBool InTransaction();
Tests whether a transaction is in progress, i.e. whether a call to BeginTransaction()
has been called.
|
IMPORT_C TBool IsDatabaseWriteLockedL();
Tests if the database is write locked.
Tries to open a transaction from another client.
Note: Calling InTransaction()
is not enough because if the transaction is automatic rather than explicit, this will still return EFalse.
|
IMPORT_C TInt RequestNotification(TRequestStatus &aStatus);
Requests notification when any change is made to the database, whether by this client or any other.
(If the notifier is not successfully opened the function simply returns an error code and none of the following applies).
When any change is made to the database the outstanding notification request completes and TRequestStatus
contains a value indicating what type of change has occurred. The value is one of the enumerators of the RDbNotifier::TEvent
enumeration.
Alternatively, if an outstanding notification request is cancelled by a call to this CCommsDatabase's CancelRequestNotification()
member function, then the request completes with aStatus set to KErrCancel.
An outstanding notification request is also cancelled if the connection to the DBMS is severed through a call to DoClose()
.
This is an asynchonous request.
|
|
IMPORT_C void CancelRequestNotification();
Cancels an outstanding request for notification of changes to the communications database.
An outstanding request completes with KErrCancel.
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C CCommsDbTableView *OpenTableLC(const TDesC &aTableName);
Fills the container with all records from table and returns a pointer to view class. The view excludes hidden records, unless
access to them has previously been explicitly requested by calling the ShowHiddenRecords()
member function of this object.
If the process is succesful, the function constructs and returns a pointer to a CCommsDbTableView
object which encapsulates the information on that view. The pointer is also put onto the cleanup stack.
|
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C CCommsDbTableView *OpenViewLC(const TDesC &aTableName, const TDesC &aSqlQuery);
|
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C CCommsDbTableView *OpenViewMatchingUintLC(const TDesC &aTableName, const TDesC &aColumnToMatch, TUint32 aValueToMatch);
Opens a view onto a specified table based on a matching unsigned integer value, and returns a pointer to that view. The view includes all those records where the column, identified by aColumnToMatch, matches the unsigned integer value aValueToMatch.
The view excludes hidden records, unless access to them has previously been explicitly requested by calling the ShowHiddenRecords()
member function of this object.
If the open process is succesful, the function constructs and returns a pointer to a CCommsDbTableView
object which encapsulates the information on that view. The pointer is also put onto the cleanup stack.
|
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C CCommsDbTableView *OpenViewMatchingBoolLC(const TDesC &aTableName, const TDesC &aColumnToMatch, TBool aValueToMatch);
Opens a view onto a specified table based on a matching boolean value, and returns a pointer to that view. The view includes all those records where the column, identified by aColumnToMatch, matches the boolean value aValueToMatch.
The view excludes hidden records, unless access to them has previously been explicitly requested by calling the ShowHiddenRecords()
member function.
If the open process is successful, the function constructs and returns a pointer to a CCommsDbTableView
object which encapsulates the information on that view. The pointer is also put onto the cleanup stack.
|
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C CCommsDbTableView *OpenViewMatchingTextLC(const TDesC &aTableName, const TDesC &aColumnToMatch, const TDesC8 &aValueToMatch);
Opens a view onto a specified table based on a matching 8 bit text type, and returns a pointer to that view.
The view includes all those records where the column, identified by aColumnToMatch, matches the narrow text supplied in the descriptor aValueToMatch.
The view excludes hidden records, unless access to them has previously been explicitly requested by calling the ShowHiddenRecords()
member function of this object.
If the open process is succesful, the function constructs and returns a pointer to a CCommsDbTableView
object which encapsulates the information on that view. The pointer is also put onto the cleanup stack.
|
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C CCommsDbTableView *OpenViewMatchingTextLC(const TDesC &aTableName, const TDesC &aColumnToMatch, const TDesC16 &aValueToMatch);
Opens a view onto a specified table based on a matching 16 bit text type, and returns a pointer to that view. The view includes all those records where the column, identified by aColumnToMatch, matches the wide text supplied in the descriptor aValueToMatch.
The view excludes hidden records, unless access to them has previously been explicitly requested by calling the ShowHiddenRecords()
member function of this object.
If the open process is successful, the function constructs and returns a pointer to a CCommsDbTableView
object which encapsulates the information on that view. The pointer is also put onto the cleanup stack.
|
|
Capability: | Dependent | on table, see the guide page referenced below. |
IMPORT_C void ShowHiddenRecords();
Ensures that hidden records are included in the search criteria when creating views using the member functions:
static IMPORT_C void ResolvePhoneNumberL(TDesC &aNumber, TDes &aDialString, TParseMode aDialParseMode, TUint32 aLocationId,
TUint32 aChargecardId);
Resolves a given telephone number based on a specified dialling location and chargecard. The function does not require a connection to the database server, but will form one itself.
The function does not resolve for mobile phones; aNumber is just copied to aDialString.
|
|
IMPORT_C void ResolvePhoneNumberFromDatabaseL(TDesC &aNumber, TDes &aDialString, TParseMode aDialParseMode, TUint32 aLocationId,
TUint32 aChargecardId);
Resolves a given telephone number based on a specified dialling location and chargecard. A connection must already exist to the database.
The function does not resolve for mobile phones; aNumber is just copied to aDialString.
|
|
IMPORT_C TInt CheckReadCapability(const TDesC &aField, const RMessagePtr2 *aMessage);
Check the capabilites required to read a field from the database
|
|
IMPORT_C TInt CheckWriteCapability(const TDesC &aField, const RMessagePtr2 *aMessage);
Check the capabilites required to write a field to the database
|
|
protected: inline RDbNamedDatabase *Database();
Returns the interface for creating and opening a database identified by name and format.
|
protected: RArray< TCommDbPublishSubscribeNotification > iNotifications;