|
||
class CMsvFindOperation : public CMsvOperation;
Encapsulates a text search operation.
The class offers an interface for locating messages which contain specified text. Messages may contain data created for, or received from, any of the transport protocols that are supported by the Messaging Architecture (e.g. Email, FAX and SMS).
Clients create a new instance for each search operation to be performed. They are also responsible for destroying the instance once a search operation is complete.
Clients can derive from this class, typically to implement their own version of the function CMsvFindOperation::IsValid(const TMsvEntry &)const
.
CBase
-
Base class for all classes to be instantiated on the heap.
CActive
-
The core class of the active object abstraction.
CMsvOperation
- Defines an interface for use by objects which control asynchronous commands in t...
CMsvFindOperation
- Encapsulates a text search operation.
Defined in CMsvFindOperation
:
CMsvFindOperation(CMsvSession &,const TDesC &,TMsvPartList,TRequestStatus &)
Constructor, specifying search parameters.ConstructFindInChildrenL(TMsvId)
Second phase constructor, for constructing a search of an entry and of all its c...ConstructFindInSelectionL(const CMsvEntrySelection &)
Second phase constructor, for constructing a search of a specified selection of ...DoCancel()
Implements cancellation of an outstanding request.FinalProgress()
Returns progress information after the search operation is complete.FindInChildrenL(CMsvSession &,const TDesC &,TMsvId,TMsvPartList,TRequestStatus &)
Creates a new search operation to search for text within a specified root, folde...FindInSelectionL(CMsvSession &,const TDesC &,const CMsvEntrySelection &,TMsvPartList,TRequestStatus &)
Creates a new search operation to search for text within a specified selection o...GetFindResult()const
Returns the result of the search operation.IsValid(const TMsvEntry &)const
Determines whether a message is to be included in the text search operation.ProgressL()
Returns progress information.RunL()
Handles an active object's request completion event.~CMsvFindOperation()
Destructor. Inherited from CActive
:
CActive(TInt)
Constructs the active object with the specified priority.Cancel()
Cancels the wait for completion of an outstanding request.Deque()
Removes the active object from the active scheduler's list of active objects.EPriorityHigh
A priority higher than EPriorityUserInput.EPriorityIdle
A low priority, useful for active objects representing background processing.EPriorityLow
A priority higher than EPriorityIdle but lower than EPriorityStandard.EPriorityStandard
Most active objects will have this priority.EPriorityUserInput
A priority higher than EPriorityStandard; useful for active objects handling use...IsActive()const
Determines whether the active object has a request outstanding.IsAdded()const
Determines whether the active object has been added to the active scheduler's li...Priority()const
Gets the priority of the active object.RunError(TInt)
Handles a leave occurring in the request completion event handler CActive::RunL(...SetActive()
Indicates that the active object has issued a request and that it is now outstan...SetPriority(TInt)
Sets the priority of the active object.TPriority
Defines standard priorities for active objects. iStatus
The request status associated with an asynchronous request.Inherited from CBase
:
Delete(CBase *)
Deletes the specified object.operator new(TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TAny *)
Initialises the object to binary zeroes.operator new(TUint,TLeave)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TLeave,TUint)
Allocates the object from the heap and then initialises its contents to binary z...operator new(TUint,TUint)
Allocates the object from the heap and then initialises its contents to binary z...Inherited from CMsvOperation
:
CMsvOperation(CMsvSession &,TInt,TRequestStatus &)
Constructor. This is called by MTM implementers from the derived class construct...Extension_(TUint,TAny *&,TAny *)
The extension method provides a polymorphic behaviour to call the correct System...Id()const
Gets the operation ID.Mtm()const
Gets the UID of the MTM associated with the operation.Service()const
Gets the ID of the service that is associated with this operation.SystemProgress(TMsvSystemProgress &)
This call leads to calling CMsvOperation::SystemProgress(TMsvSystemProgress &...iMsvSession
Message Server session used by object. This is set by the constructor. iMtm
The UID of the MTM associated with the operation.iObserverRequestStatus
Request status of the operation observer.iService
The ID of the service that is associated with this operation.protected: IMPORT_C CMsvFindOperation(CMsvSession &aSession, const TDesC &aTextToFind, TMsvPartList aPartList, TRequestStatus
&aObserverRequestStatus);
Constructor, specifying search parameters.
|
|
IMPORT_C static CMsvFindOperation* FindInChildrenL(CMsvSession &aSession, const TDesC &aTextToFind, TMsvId aParentId, TMsvPartList
aPartList, TRequestStatus &aObserverRequestStatus);
Creates a new search operation to search for text within a specified root, folder or service.
Searching for messages is done recursively through all child services and folders. All messages found are searched for text.
|
|
FindInSelectionL(CMsvSession &,const TDesC &,const CMsvEntrySelection &,TMsvPartList,TRequestStatus &)
IMPORT_C static CMsvFindOperation* FindInSelectionL(CMsvSession &aSession, const TDesC &aTextToFind, const CMsvEntrySelection
&aSelection, TMsvPartList aPartList, TRequestStatus &aObserverRequestStatus);
Creates a new search operation to search for text within a specified selection of messages.
The function leaves with the KErrArgument code if the first entry in the selection is not recognised as a message.
|
|
IMPORT_C virtual const TDesC8& ProgressL();
Returns progress information.
Progress information supplies sufficient data to drive a progress gauge for the text search operation and also identifies the message currently being searched. It does not provide any information about the search progress within a message.
|
IMPORT_C virtual const TDesC8& FinalProgress();
Returns progress information after the search operation is complete.
The function returns the same information as CMsvFindOperation::ProgressL()
but can only be called after the search operation is complete. The function raises a MSGS 285 panic if it is called while
the search operation is still in progress.
|
inline const CMsvFindResultSelection& GetFindResult() const;
Returns the result of the search operation.
If the search operation is still in progress, then the results returned are those that have been found at the time of this call.
|
protected: IMPORT_C void ConstructFindInChildrenL(TMsvId aId);
Second phase constructor, for constructing a search of an entry and of all its children.
|
protected: IMPORT_C void ConstructFindInSelectionL(const CMsvEntrySelection &aSelection);
Second phase constructor, for constructing a search of a specified selection of messages.
|
|
private: IMPORT_C virtual void DoCancel();
Implements cancellation of an outstanding request.
This function is called as part of the active object's CActive::Cancel()
.
It must call the appropriate cancel function offered by the active object's asynchronous service provider. The asynchronous service provider's cancel is expected to act immediately.
CMsvFindOperation::DoCancel()
must not wait for event completion; this is handled by CActive::Cancel()
.
CActive::Cancel()
Cancels the wait for completion of an outstanding request.private: IMPORT_C virtual void RunL();
Handles an active object's request completion event.
A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request.
The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes.
Before calling this active object's CMsvFindOperation::RunL()
function, the active scheduler has:
1. decided that this is the highest priority active object with a completed request
2. marked this active object's request as complete (i.e. the request is no longer outstanding)
CMsvFindOperation::RunL()
runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls CActive::RunError(TInt)
to handle the leave.
Note that once the active scheduler's Start() function has been called, all user code is run under one of the program's active
object's CMsvFindOperation::RunL()
or CActive::RunError(TInt)
functions.
CActiveScheduler::Start()
Starts a new wait loop under the control of the current active scheduler.CActiveScheduler::Error(TInt)const
Handles the result of a leave occurring in an active object’s RunL() function.CActiveScheduler::WaitForAnyRequest()
Wait for an asynchronous request to complete.private: virtual TBool IsValid(const TMsvEntry &aEntry) const;
Determines whether a message is to be included in the text search operation.
The function acts as a filter that decides whether a message should be included in the text search operation. The function is called before the message is searched.
The default implementation always returns true.
Clients can provide their own implementation.
Note: Messages which are not included in the search are still included in the count of entries completed.
|
|