|
||
class CMsvSendOperation : public CMsvOperation;
Utility to create an operation containing a sending operation which may be used to retrieve a standard progress structure.
This class is intended to be derived from. The derived class must define the CMsvSendOperation::TranslateProgress(const TDesC8 &)
member function. This function is responsible for translating the native progress of the given mtm into the standard progress
structure, CMsvSendOperation::TSendOperationProgress
.
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...
CMsvSendOperation
- Utility to create an operation containing a sending operation which may be used ...
Defined in CMsvSendOperation
:
CMsvSendOperation(CMsvSession &,TRequestStatus &)
Constructor.DoCancel()
Called when this operation is cancelled and is active. It in turn cancels the se...ESendStateConnecting
ESendStateDone
ESendStateFailed
ESendStateInPreparation
ESendStateSending
ESendStateWaitingToSend
FinalProgress()
Gets information about a completed operation.ProgressL()
Gets progress information about the current send operationRunL()
Called on completion of sending operation. Completes iObserverRequestStatus with...Start(CMsvOperation *)
Takes ownership of a CMsvOperation object that is set to complete iStatus of thi...TSendOperationProgress
Send progress.TSendOperationState
Send progress state.TranslateProgress(const TDesC8 &)
Translates the progress from sending operation's progress into CMsvSendOperation...iOperation
The sending operation.iProgress
The progress that is associated with this operation.~CMsvSendOperation()
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.IMPORT_C virtual ~CMsvSendOperation();
Destructor.
Any active request on the object is cancelled.
protected: IMPORT_C CMsvSendOperation(CMsvSession &aMsvSession, TRequestStatus &aObserverRequestStatus);
Constructor.
|
|
IMPORT_C virtual const TDesC8& ProgressL();
Gets progress information about the current send operation
Returns the translated progress for the current send operation. Calls the underlying ProgressL function to obtain the native progress then calls TranslateProgressL to translate the native progress into standard send progress.
|
IMPORT_C virtual const TDesC8& FinalProgress();
Gets information about a completed operation.
Returns the translated progress for the current send operation. Calls the sending operation's FinalProgress function to obtain the native progress then calls TranslateProgressL to translate the native progress into standard send progress.
|
IMPORT_C void Start(CMsvOperation *aOperation);
Takes ownership of a CMsvOperation
object that is set to complete iStatus of this object. This implementation does not leave.
|
private: IMPORT_C virtual void DoCancel();
Called when this operation is cancelled and is active. It in turn cancels the sending operation and completes iObserverRequestStatus with KErrCancel.
private: IMPORT_C virtual void RunL();
Called on completion of sending operation. Completes iObserverRequestStatus with the sending operation's status. This RunL does not leave.
private: virtual const TDesC8& TranslateProgress(const TDesC8 &aProgress)=0;
Translates the progress from sending operation's progress into CMsvSendOperation::TSendOperationProgress
.
This member function must be defined by derived classes. Must not leave.
|
|
CMsvSendOperation::TSendOperationProgress
Send progress.class TSendOperationProgress;
Send progress.
Structure holding send progress. For mtms unable to provide detailed progress information, iProgressMax and iProgress must be zeroed. This will then allow the client to check for this case and display a busy status dialog as opposed to a progress dialog. If the mtm is capable of detailed progress, iProgressMax should be set to the total number of units to be sent and iProgress the number of units sent.
Defined in CMsvSendOperation::TSendOperationProgress
:
CMsvSendOperation::TSendOperationState
Send progress state.iState
TSendOperationState iState;
iError
TInt iError;
iProgressMax
TInt iProgressMax;
iProgress
TInt iProgress;
TSendOperationState
Send progress state.
CMsvSendOperation::TSendOperationProgress
Send progress.
|
protected: TPckgBuf< TSendOperationProgress > iProgress;
The progress that is associated with this operation.
The TranslateProgress defined by derived classes must populate and return this progress structure.
CMsvSendOperation::TranslateProgress(const TDesC8 &)
Translates the progress from sending operation's progress into CMsvSendOperation...CMsvSendOperation::TSendOperationProgress
Send progress.protected: CMsvOperation * iOperation;
The sending operation.
Assigned when ConstructL is called