#include <MSVAPI.H>
Link against:
msgs.lib
Link against:
msgs_autoshutdown.lib
class CMsvEntry : public CBase, public MMsvSessionObserver, public MMsvStoreObserver;
Description
Accesses and acts upon a particular Message Server entry. The current entry that a CMsvEntry object relates is referred to
as its context.
It may be helpful to consider CMsvEntry functions in two broad groups. The first provides means to access the various types
of storage associated with an entry. The second provides a means to discover and access other entries that the entry owns
(its children).
Message client applications, Client-side MTMs, and User
Interface MTMs all commonly use CMsvEntry objects. CMsvEntry objects though represent a lower level of access to an entry
than that provided by a Client-side MTM or User
Interface MTM. In particular, any MTM-specific functionality, such as address lists or subject fields, must be accessed by
a message client application through an MTM inteface.
A CMsvEntry object is relatively expensive in RAM usage, as it caches its children, updating them as necessary when notified
of changes. They should therefore be created sparingly.
Note that Server-side MTMs do not use this class, but a similar one, CMsvServerEntry
.
Derivation
MMsvStoreObserver
- Observer interface to get events relating to a message store.
MMsvSessionObserver
- Provides the interface for notification of events from a Message Server session.
CBase
-
Base class for all classes to be instantiated on the heap.
CMsvEntry
- Accesses and acts upon a particular Message Server entry. The current entry that...
Members
Defined in CMsvEntry
:
AddObserverL(MMsvEntryObserver &)
Registers an observer for the object.
ChangeAttributesL(const CMsvEntrySelection &,TUint,TUint)
Sets or clears multiple fields in a selection of children of the context.
ChangeL(const TMsvEntry &)
Sets the context's index entry to the specified values. The function is performe...
ChangeL(const TMsvEntry &,TRequestStatus &)
Sets the context's index entry to the specified values. The returned CMsvOperati...
ChangeL(const TMsvEntry &,TSecureId)
Sets the context's index entry to the specified values. The function is performe...
ChangeL(const TMsvEntry &,TSecureId,TRequestStatus &)
Sets the context's index entry to the specified values. The returned CMsvOperati...
ChildDataL(TMsvId)const
Gets the index entry of context's child with the specified ID.
ChildEntryL(TMsvId)const
Gets a new CMsvEntry object with its context set to the child entry ID. aMsvId m...
ChildrenL()const
Gets a selection containing the IDs of all the context children. If the entry ha...
ChildrenWithMtmL(TUid)const
Gets a selection containing the IDs of all the context children filtered by MTM ...
ChildrenWithServiceL(TMsvId)const
Gets a selection containing the IDs of all the context children filtered by mess...
ChildrenWithTypeL(TUid)const
Gets a selection containing the IDs of all the context children filtered by entr...
CopyL(TMsvId,TMsvId)
Creates, synchronously, a copy of a child of the context as a new entry owned by...
CopyL(TMsvId,TMsvId,TRequestStatus &)
Creates, asynchronously, a copy of a child of the context as a new entry owned b...
CopyL(const CMsvEntrySelection &,TMsvId,TMsvLocalOperationProgress &)
Creates, synchronously. copies of children of the context as new entries owned b...
CopyL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
Creates, asynchronously. copies of children of the context as new entries owned ...
Count()const
Gets the number of children of the context.
CreateL(TMsvEntry &)
Creates a new child entry owned by the context synchronously.
CreateL(TMsvEntry &,TSecureId)
Creates a new child entry owned by the context synchronously. Sets the owner of ...
CreateL(const TMsvEntry &,TRequestStatus &)
Creates a new child entry owned by the context asynchronously.
CreateL(const TMsvEntry &,TSecureId,TRequestStatus &)
Creates a new child entry owned by the context asynchronously. Sets the owner of...
DeleteL(TMsvId)
Deletes a child entry of the context synchronously.
DeleteL(TMsvId,TRequestStatus &)
Deletes a child entry of the context asynchronously.
DeleteL(const CMsvEntrySelection &,TMsvLocalOperationProgress &)
Deletes child entries of the context synchronously.
DeleteL(const CMsvEntrySelection &,TRequestStatus &)
Deletes child entries of the context asynchronously.
EditStoreL()
Gets the message store for the current context with read-write access.
Entry()const
Gets the index entry for the context.
EntryId()const
Gets the ID of the context.
HandleSessionEventL(TMsvSessionEvent,TAny *,TAny *,TAny *)
Indicates an event has occurred.
HasStoreL()const
Checks if the context has an associated message store.
MoveL(TMsvId,TMsvId)
Moves, synchronously, a child of the context to become an entry owned by the tar...
MoveL(TMsvId,TMsvId,TRequestStatus &)
Moves, asynchronously, a child of the context to become an entry owned by the ta...
MoveL(const CMsvEntrySelection &,TMsvId,TMsvLocalOperationProgress &)
Moves, synchronously, children of the context to become entries owned by the tar...
MoveL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
Moves, asynchronously, children of the context to become entries owned by the ta...
NewL(CMsvSession &,TMsvId,const TMsvSelectionOrdering &)
Creates a new CMsvEntry for the specified entry ID.
OwningService()const
Gets the ID of the service entry that owns the context.
ReadStoreL()
Obtains the message store for the current context with read-only access.
RemoveObserver(MMsvEntryObserver &)
Unregisters an observer previously registered with CMsvEntry::AddObserverL(MMsvE...
Session()
Gets the Message Server session used by this object. This is the same session pa...
SetEntryL(TMsvId)
Sets the context to the specified entry.
SetMtmListL(const CArrayFix< TUid > &)
Sets the MTM order to the specified sort order. When children of an entry are so...
SetSortTypeL(const TMsvSelectionOrdering &)
Sets the sort order that is used when listing children, for example with CMsvEnt...
SortType()const
Gets the current sort order of children of the entry. The sort order is initiall...
operator[](TInt)const
Gets the index entry of the child at the position specified by the array index. ...
~CMsvEntry()
Destructor.
Inherited from CBase
:
Inherited from MMsvSessionObserver
:
Inherited from MMsvStoreObserver
:
Construction and destruction
NewL(CMsvSession &,TMsvId,const TMsvSelectionOrdering &)
IMPORT_C static CMsvEntry* NewL(CMsvSession &aMsvSession, TMsvId aMsvId, const TMsvSelectionOrdering &aOrdering);
Description
Creates a new CMsvEntry for the specified entry ID.
Note that this function does not create a new entry, but simply a new object to access an existing entry. To create a new
entry, use CMsvEntry::CreateL(const TMsvEntry &,TRequestStatus &)
.
Parameters
Return value
CMsvEntry *
|
If the function succeeds, this is a pointer to a newly allocated and initialised object.
|
|
Leave codes
KErrNotFound |
The requested entry does not exist
|
KErrNoMemory |
A memory allocation failed
|
|
IMPORT_C ~CMsvEntry();
Description
Destructor.
This cleans up the object. CMsvEntry objects must be deleted by client applications when they are no longer required. Note
that deleting a CMsvEntry object does not delete the context, simply the immediate means of accessing it.
AddObserverL(MMsvEntryObserver &)
IMPORT_C void AddObserverL(MMsvEntryObserver &aObserver);
Description
Registers an observer for the object.
CMsvEntry objects can call back observer objects that implement the MMsvEntryObserver
interface when certain events occur. Any number of observers can be registered.
Observers are called primarily when the context changes state or contents. For details, see MMsvEntryObserver::TMsvEntryEvent
.
Parameters
Leave codes
KErrNoMemory |
Not enough memory to register the observer
|
|
RemoveObserver(MMsvEntryObserver &)
IMPORT_C void RemoveObserver(MMsvEntryObserver &aObserver);
Description
Unregisters an observer previously registered with CMsvEntry::AddObserverL(MMsvEntryObserver &)
.
Parameters
MMsvEntryObserver &aObserver |
A reference to an observer to be unregistered for events
|
|
inline CMsvSession& Session();
Description
Gets the Message Server session used by this object. This is the same session passed by the client in CMsvEntry::NewL(CMsvSession &,TMsvId,const TMsvSelectionOrdering &)
.
Return value
IMPORT_C CMsvStore* ReadStoreL();
Description
Obtains the message store for the current context with read-only access.
Multiple clients can read from a store simultaneously. If another client is already writing to the store, the function leaves
with KErrAccessDenied.
The returned CMsvStore
must be deleted when it is no longer required.
Return value
CMsvStore *
|
Context's message store open for read-only access
|
|
Leave codes
KErrNoMemory |
Not enough memory to open store
|
KErrAccessDenied |
Another client is currently writing to the store
|
KErrNotFound |
There is no store associated with this entry
|
|
IMPORT_C CMsvStore* EditStoreL();
Description
Gets the message store for the current context with read-write access.
Only one client can edit a message store at one time. If another client is already writing to the store, KErrAccessDenied
is returned. Other clients can be reading the store.
If the message store does not exist when EditStore() is called, a new message store is created.
The returned CMsvStore
must be deleted when it is no longer required.
Return value
CMsvStore *
|
Context's message store open for read-write access
|
|
Leave codes
KErrAccessDenied |
Store is locked by another process or the entry is read only
|
KErrNoMemory |
Not enough memory to open the store
|
|
inline TMsvId EntryId() const;
Description
Gets the ID of the context.
Return value
TMsvId
|
Current context's entry ID
|
|
inline const TMsvEntry& Entry() const;
Description
Gets the index entry for the context.
Return value
const TMsvEntry & |
Current context's index entry
|
|
inline const TMsvSelectionOrdering& SortType() const;
Description
Gets the current sort order of children of the entry. The sort order is initially set through CMsvEntry::NewL(CMsvSession &,TMsvId,const TMsvSelectionOrdering &)
.
Return value
inline TMsvId OwningService() const;
Description
Gets the ID of the service entry that owns the context.
Local entries are considered as being members of the local service:
Return value
TMsvId
|
ID of the service entry that the context is under.
|
|
SetSortTypeL(const TMsvSelectionOrdering &)
IMPORT_C void SetSortTypeL(const TMsvSelectionOrdering &aOrdering);
Description
Sets the sort order that is used when listing children, for example with CMsvEntry::ChildrenL()const
.
If the function leaves, the sort order is unchanged.
Parameters
Leave codes
KErrNoMemory |
Insufficient memory to resort the entries
|
|
SetMtmListL(const CArrayFix< TUid > &)
IMPORT_C void SetMtmListL(const CArrayFix< TUid > &aMtmList);
Description
Sets the MTM order to the specified sort order. When children of an entry are sorted, entries belonging to the same MTM type
can be grouped together.
MTM grouping can be switched on or off through setting the appropriate TMsvSelectionOrdering
value by CMsvEntry::SetSortTypeL(const TMsvSelectionOrdering &)
.
If the function leaves, the sort order is unchanged.
Parameters
const CArrayFix < TUid > &aMtmList |
The order of MTMs to use for sorting
|
|
Leave codes
KErrNoMemory |
Insufficient memory to resort the entries
|
|
IMPORT_C void SetEntryL(TMsvId aId);
Description
Sets the context to the specified entry.
If the function leaves, the context is unchanged.
Parameters
TMsvId aId |
ID of the message entry which is to become the new context
|
|
Leave codes
KErrNotFound |
aMsvId could not be found in the index
|
|
ChangeL(const TMsvEntry &)
IMPORT_C void ChangeL(const TMsvEntry &aEntry);
Description
Sets the context's index entry to the specified values. The function is performed synchronously.
This function can only be used on local entries.
Parameters
const TMsvEntry &aEntry |
The new index entry values for the context
|
|
Leave codes
KErrAccessDenied |
The entry is locked by another client
|
KErrArgument |
aEntry is invalid or the ID specified in aEntry is not the same as the context ID
|
KErrNoMemory |
The operation could not be created or passed to the server
|
|
ChangeL(const TMsvEntry &,TSecureId)
IMPORT_C void ChangeL(const TMsvEntry &aEntry, TSecureId aOwnerId);
Description
Sets the context's index entry to the specified values. The function is performed synchronously. Sets the owner of the changed
entry to process specified by the supplied ID.
This function can only be used on local entries.
Parameters
const TMsvEntry &aEntry |
The new index entry values for the context
|
TSecureId aOwnerId |
The ID of process that owns the changed entry.
|
|
Leave codes
KErrAccessDenied |
The entry is locked by another client
|
KErrArgument |
aEntry is invalid or the ID specified in aEntry is not the same as the context ID
|
KErrNoMemory |
The operation could not be created or passed to the server
|
|
ChangeL(const TMsvEntry &,TRequestStatus &)
IMPORT_C CMsvOperation* ChangeL(const TMsvEntry &aEntry, TRequestStatus &aStatus);
Description
Sets the context's index entry to the specified values. The returned CMsvOperation
object completes when the change is complete.
It is important to note that the state of the context is undefined until the observer of the entry has been informed that
the entry has been changed, or the operation is completed with an error. If the function leaves, the context is unchanged.
Parameters
const TMsvEntry &aEntry |
The new index entry values for the context
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
An operation object controlling the change command
|
|
Leave codes
KErrAccessDenied |
The entry is locked by another client
|
KErrArgument |
aEntry is invalid or the ID specified in aEntry is not the same as the context ID
|
KErrNoMemory |
The operation could not be created or passed to the server
|
|
ChangeL(const TMsvEntry &,TSecureId,TRequestStatus &)
IMPORT_C CMsvOperation* ChangeL(const TMsvEntry &aEntry, TSecureId aOwnerId, TRequestStatus &aStatus);
Description
Sets the context's index entry to the specified values. The returned CMsvOperation
object completes when the change is complete. Sets the owner of the changed entry to process specified by the supplied ID.
It is important to note that the state of the context is undefined until the observer of the entry has been informed that
the entry has been changed, or the operation is completed with an error. If the function leaves, the context is unchanged.
Parameters
const TMsvEntry &aEntry |
The new index entry values for the context
|
TSecureId aOwnerId |
The ID of process that owns the changed entry.
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
An operation object controlling the change command
|
|
Leave codes
KErrAccessDenied |
The entry is locked by another client
|
KErrArgument |
aEntry is invalid or the ID specified in aEntry is not the same as the context ID
|
KErrNoMemory |
The operation could not be created or passed to the server
|
|
CreateL(const TMsvEntry &,TRequestStatus &)
IMPORT_C CMsvOperation* CreateL(const TMsvEntry &aEntry, TRequestStatus &aStatus);
Description
Creates a new child entry owned by the context asynchronously.
Note that all session observers are notified when a new entry is created with an EMsvEntriesCreated event (see TMsvSessionEvent).
CMsvEntry objects are such session observers themselves. When the object receives such a session notification, it calls all
registered entry observers with a TMsvEntryEvent event EMsvNewChildren, passing in the ID of the new child.
If aEntry is not a service entry, then the context must not be set to the root entry and iServiceId field must be defined
. If aEntry is a service entry, then the context must be set to the root entry.
The returned CMsvOperation
object completes when creation is complete.
Parameters
const TMsvEntry &aEntry |
Index entry value for the new entry
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the create command.
|
|
Leave codes
KErrArgument |
aEntry is invalid
|
|
CreateL(const TMsvEntry &,TSecureId,TRequestStatus &)
IMPORT_C CMsvOperation* CreateL(const TMsvEntry &aEntry, TSecureId aOwnerId, TRequestStatus &aStatus);
Description
Creates a new child entry owned by the context asynchronously. Sets the owner of the created entry to process specified by
the supplied ID.
Note that all session observers are notified when a new entry is created with an EMsvEntriesCreated event (see TMsvSessionEvent).
CMsvEntry objects are such session observers themselves. When the object receives such a session notification, it calls all
registered entry observers with a TMsvEntryEvent event EMsvNewChildren, passing in the ID of the new child.
If aEntry is not a service entry, then the context must not be set to the root entry and iServiceId field must be defined
. If aEntry is a service entry, then the context must be set to the root entry.
The returned CMsvOperation
object completes when creation is complete.
Parameters
const TMsvEntry &aEntry |
Index entry value for the new entry
|
TSecureId aOwnerId |
The ID of process that owns the created entry.
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the create command.
|
|
Leave codes
KErrArgument |
aEntry is invalid
|
|
DeleteL(const CMsvEntrySelection &,TRequestStatus &)
IMPORT_C CMsvOperation* DeleteL(const CMsvEntrySelection &aSelection, TRequestStatus &aStatus);
Description
Deletes child entries of the context asynchronously.
The delete works recursively through all the descendants. If a child or any descendant is locked by another client or any
store or file is open, then that child will not be deleted. Any files and stores associated with the entries are deleted.
The returned CMsvOperation
object completes when deletion is complete.
Parameters
const CMsvEntrySelection &aSelection |
List of ID of the entries to be deleted
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the deletion command
|
|
Leave codes
KErrNotFound |
A specified entry was not a child of the context
|
|
DeleteL(TMsvId,TRequestStatus &)
IMPORT_C CMsvOperation* DeleteL(TMsvId aMsvId, TRequestStatus &aStatus);
Description
Deletes a child entry of the context asynchronously.
The delete works recursively through all the descendants. If a child or any descendant is locked by another client or any
store or file is open, then that child will not be deleted. Any files and stores associated with the entry are deleted.
The returned CMsvOperation
object completes when deletion is complete.
Parameters
TMsvId aMsvId |
ID of entry to be deleted
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the deletion command
|
|
Leave codes
KErrNotFound |
The specified entry was not a child of the context
|
|
CopyL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
IMPORT_C CMsvOperation* CopyL(const CMsvEntrySelection &aSelection, TMsvId aTargetId, TRequestStatus &aStatus);
Description
Creates, asynchronously. copies of children of the context as new entries owned by the specified target ID.
All descendants will be copied as well. Any files and stores associated with the entries are also copied.
The returned CMsvOperation
object completes when copying is complete.
Parameters
const CMsvEntrySelection &aSelection |
List of IDs of the entries to be copied
|
TMsvId aTargetId |
The ID of the entry to own the copies
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the copy command.
|
|
Leave codes
KErrNoMemory |
The operation could not be created or passed to the server
|
KErrNotFound |
An entry was not a child of the context
|
|
CopyL(TMsvId,TMsvId,TRequestStatus &)
IMPORT_C CMsvOperation* CopyL(TMsvId aMsvId, TMsvId aTargetId, TRequestStatus &aStatus);
Description
Creates, asynchronously, a copy of a child of the context as a new entry owned by the specified target ID.
All descendants will be copied as well. Any files and stores associated with the entry are also copied.
The returned CMsvOperation
object completes when copying is complete.
Parameters
TMsvId aMsvId |
The ID of the entry to be copied
|
TMsvId aTargetId |
The ID of the entry to own the copy
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the copy command.
|
|
Leave codes
KErrNoMemory |
The operation could not be created or passed to the server
|
KErrNotFound |
An entry was not a child of the context
|
|
MoveL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
IMPORT_C CMsvOperation* MoveL(const CMsvEntrySelection &aSelection, TMsvId aTargetId, TRequestStatus &aStatus);
Description
Moves, asynchronously, children of the context to become entries owned by the target entry.
All descendants will be moved as well. Any files and stores associated with the entries are also moved.
The returned CMsvOperation
object completes when moving is complete.
Parameters
const CMsvEntrySelection &aSelection |
List of IDs of the entries to be moved
|
TMsvId aTargetId |
The ID of the entry to own the moved entires
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the move command.
|
|
Leave codes
KErrNoMemory |
The operation could not be created or passed to the server
|
KErrNotFound |
An entry was not a child of the context
|
|
MoveL(TMsvId,TMsvId,TRequestStatus &)
IMPORT_C CMsvOperation* MoveL(TMsvId aMsvId, TMsvId aTargetId, TRequestStatus &aStatus);
Description
Moves, asynchronously, a child of the context to become an entry owned by the target entry.
All descendants will be moved as well. Any files and stores associated with the entry are also moved.
The returned CMsvOperation
object completes when moving is complete.
Parameters
TMsvId aMsvId |
The ID of the entry to be moved
|
TMsvId aTargetId |
The ID of the entry to own the moved entries
|
TRequestStatus &aStatus |
The request status to be completed when the operation has finished
|
|
Return value
CMsvOperation *
|
The operation object controlling the move command.
|
|
Leave codes
KErrNoMemory |
The operation could not be created or passed to the server
|
KErrNotFound |
An entry was not a child of the context
|
|
IMPORT_C CMsvEntrySelection* ChildrenL() const;
Description
Gets a selection containing the IDs of all the context children. If the entry has no children, the selection is empty.
The calling function is responsible for the deletion of the returned CMsvEntrySelection
.
Return value
Leave codes
KErrNoMemory |
Not enough memory to create the selection
|
|
ChildrenWithServiceL(TMsvId)const
IMPORT_C CMsvEntrySelection* ChildrenWithServiceL(TMsvId aServiceId) const;
Description
Gets a selection containing the IDs of all the context children filtered by message service. i.e. the index entry's iServiceId
field equals aId.
If the entry has no such children, the selection is empty.
The calling function is responsible for the deletion of the returned CMsvEntrySelection
.
Parameters
TMsvId aServiceId |
Service by which to filter
|
|
Return value
Leave codes
KErrNoMemory |
Not enough memory to create the selection
|
|
ChildrenWithMtmL(TUid)const
IMPORT_C CMsvEntrySelection* ChildrenWithMtmL(TUid aMtm) const;
Description
Gets a selection containing the IDs of all the context children filtered by MTM type. i.e. the index entry's iMtm field equals
aMtm.
If the entry has no such children, the selection is empty.
The calling function is responsible for the deletion of the returned CMsvEntrySelection
.
Parameters
TUid aMtm |
MTM type by which to filter
|
|
Return value
CMsvEntrySelection *
|
A selection containing the ID of all children of the context meeting the criterion
|
|
Leave codes
KErrNoMemory |
Not enough memory to create the selection
|
|
ChildrenWithTypeL(TUid)const
IMPORT_C CMsvEntrySelection* ChildrenWithTypeL(TUid aType) const;
Description
Gets a selection containing the IDs of all the context children filtered by entry type. i.e. is the entry a folder, a message,
etc.
If the entry has no such children, the selection is empty.
The calling function is responsible for the deletion of the returned CMsvEntrySelection
.
Parameters
TUid aType |
Entry type by which to filter.
|
|
Return value
CMsvEntrySelection *
|
A selection containing the ID of all children of the context meeting the criterion
|
|
Leave codes
KErrNoMemory |
Not enough memory to create the selection
|
|
inline TInt Count() const;
Description
Gets the number of children of the context.
Return value
TInt
|
Count of the child entries for the current context
|
|
IMPORT_C const TMsvEntry& ChildDataL(TMsvId aId) const;
Description
Gets the index entry of context's child with the specified ID.
Parameters
Return value
const TMsvEntry & |
Index entry for the specified child. Valid for in-range values of aIndex.
|
|
Leave codes
KErrNotFound |
No child exists with that ID
|
|
IMPORT_C const TMsvEntry& operator[](TInt aIndex) const;
Description
Gets the index entry of the child at the position specified by the array index. The child entries of the context can be considered
as a zero-based array, with entries sorted according to the current sort order.
Note:
The function panics with E32USER-CBase 21 if aIndex was out of range.
Parameters
Return value
const TMsvEntry & |
Index entry for the specified child. Valid for in-range values of aIndex.
|
|
IMPORT_C CMsvEntry* ChildEntryL(TMsvId aId) const;
Description
Gets a new CMsvEntry object with its context set to the child entry ID. aMsvId must specify a child of the current context.
The CMsvEntry object must be deleted by the client application when it is no longer required.
Parameters
TMsvId aId |
ID of a child entry
|
|
Return value
CMsvEntry *
|
CMsvEntry object with its context set to child entry
|
|
Leave codes
KErrNotFound |
aMsvId does not specify a child of the context
|
|
IMPORT_C void MoveL(TMsvId aMsvId, TMsvId aTargetId);
Description
Moves, synchronously, a child of the context to become an entry owned by the target entry.
All descendants will be moved as well. Any files and stores associated with the entry are also moved.
Parameters
TMsvId aMsvId |
The ID of the entry to be moved
|
TMsvId aTargetId |
The ID of the entry to own the moved entries
|
|
Leave codes
KErrNoMemory |
|
KErrNotFound |
An entry was not a child of the context
|
|
MoveL(const CMsvEntrySelection &,TMsvId,TMsvLocalOperationProgress &)
IMPORT_C void MoveL(const CMsvEntrySelection &aSelection, TMsvId aTargetId, TMsvLocalOperationProgress &aProgress);
Description
Moves, synchronously, children of the context to become entries owned by the target entry.
All descendants will be moved as well. Any files and stores associated with the entries are also moved.
Parameters
Leave codes
KErrNoMemory |
|
KErrNotFound |
An entry was not a child of the context
|
|
CopyL(const CMsvEntrySelection &,TMsvId,TMsvLocalOperationProgress &)
IMPORT_C void CopyL(const CMsvEntrySelection &aSelection, TMsvId aTargetId, TMsvLocalOperationProgress &aProgress);
Description
Creates, synchronously. copies of children of the context as new entries owned by the specified target ID.
All descendants will be copied as well. Any files and stores associated with the entries are also copied.
Parameters
Leave codes
KErrNoMemory |
|
KErrNotFound |
An entry was not a child of the context
|
|
IMPORT_C void CopyL(TMsvId aMsvId, TMsvId aTargetId);
Description
Creates, synchronously, a copy of a child of the context as a new entry owned by the specified target ID.
Parameters
TMsvId aMsvId |
The ID of the entry to be copied
|
TMsvId aTargetId |
The ID of the entry to own the copy
|
|
IMPORT_C void CreateL(TMsvEntry &aEntry);
Description
Creates a new child entry owned by the context synchronously.
Note that all session observers are notified when a new entry is created with an EMsvEntriesCreated event (see TMsvSessionEvent).
CMsvEntry objects are such session observers themselves. When the object receives such a session notification, it calls all
registered entry observers with a TMsvEntryEvent event EMsvNewChildren, passing in the ID of the new child.
If aEntry is not a service entry, then the context must not be set to the root entry and iServiceId field must be defined
. If aEntry is a service entry, then the context must be set to the root entry.
This function can only be used on local entries.
Parameters
TMsvEntry &aEntry |
Index entry value for the new entry
|
|
Leave codes
KErrArgument |
aEntry is invalid
|
|
CreateL(TMsvEntry &,TSecureId)
IMPORT_C void CreateL(TMsvEntry &aEntry, TSecureId aOwnerId);
Description
Creates a new child entry owned by the context synchronously. Sets the owner of the created entry to process specified by
the supplied ID.
Note that all session observers are notified when a new entry is created with an EMsvEntriesCreated event (see TMsvSessionEvent).
CMsvEntry objects are such session observers themselves. When the object receives such a session notification, it calls all
registered entry observers with a TMsvEntryEvent event EMsvNewChildren, passing in the ID of the new child.
If aEntry is not a service entry, then the context must not be set to the root entry and iServiceId field must be defined
. If aEntry is a service entry, then the context must be set to the root entry.
This function can only be used on local entries.
Parameters
TMsvEntry &aEntry |
Index entry value for the new entry
|
TSecureId aOwnerId |
The ID of process that owns the created entry.
|
|
Leave codes
KErrArgument |
aEntry is invalid
|
|
IMPORT_C void DeleteL(TMsvId aId);
Description
Deletes a child entry of the context synchronously.
The delete works recursively through all the descendants. If a child or any descendant is locked by another client or any
store or file is open, then that child will not be deleted. Any files and stores associated with the entry are deleted.
This function can only be used on local entries.
Parameters
TMsvId aId |
ID of entry to be deleted
|
|
Leave codes
KErrNotFound |
The specified entry was not a child of the context
|
|
DeleteL(const CMsvEntrySelection &,TMsvLocalOperationProgress &)
IMPORT_C void DeleteL(const CMsvEntrySelection &aSelection, TMsvLocalOperationProgress &aProgress);
Description
Deletes child entries of the context synchronously.
The delete works recursively through all the descendants. If a child or any descendant is locked by another client or any
store or file is open, then that child will not be deleted. Any files and stores associated with the entries are deleted.
Parameters
Leave codes
KErrNotFound |
A specified entry was not a child of the context
|
|
ChangeAttributesL(const CMsvEntrySelection &,TUint,TUint)
IMPORT_C void ChangeAttributesL(const CMsvEntrySelection &aSelection, TUint aSetAttributes, TUint aClearAttributes);
Description
Sets or clears multiple fields in a selection of children of the context.
Fields to change are specified using a bitmask of TMsvAttribute values. Possible fields that can be changed using this function
are the PC synchronisation, Visibility, Pending Deletion, Read, In-preparation, Connected, and New flags.
Parameters
const CMsvEntrySelection &aSelection |
The entries to change
|
TUint aSetAttributes |
A bitmask of the fields to set
|
TUint aClearAttributes |
A bitmask of the fields to clear
|
|
Leave codes
KErrNotFound |
An entry was not a child of the context
|
|
See also:
HandleSessionEventL(TMsvSessionEvent,TAny *,TAny *,TAny *)
virtual void HandleSessionEventL(TMsvSessionEvent aEvent, TAny *aArg1, TAny *aArg2, TAny *aArg3);
Description
Indicates an event has occurred.
The type of event is indicated by the value of aEvent. The interpretation of the TAny arguments depends on this type.
For most event types, the action that is taken, for example, updating the display, is client-specific. All clients though
should respond to EMsvCloseSession and EMsvServerTerminated events.
Parameters
IMPORT_C TBool HasStoreL() const;
Description
Checks if the context has an associated message store.
Return value
TBool
|
ETrue: entry has a message store EFalse: entry does not have a message store
|
|