|
|
|
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...ESendStateConnectingESendStateDoneESendStateFailedESendStateInPreparationESendStateSendingESendStateWaitingToSendFinalProgress()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...TSendOperationProgressSend progress.TSendOperationStateSend progress state.TranslateProgress(const TDesC8 &)Translates the progress from sending operation's progress into CMsvSendOperation...iOperationThe sending operation.iProgressThe 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.EPriorityHighA priority higher than EPriorityUserInput.EPriorityIdleA low priority, useful for active objects representing background processing.EPriorityLowA priority higher than EPriorityIdle but lower than EPriorityStandard.EPriorityStandardMost active objects will have this priority.EPriorityUserInputA priority higher than EPriorityStandard; useful for active objects handling use...IsActive()constDetermines whether the active object has a request outstanding.IsAdded()constDetermines whether the active object has been added to the active scheduler's li...Priority()constGets 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.TPriorityDefines standard priorities for active objects. iStatusThe 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()constGets the operation ID.Mtm()constGets the UID of the MTM associated with the operation.Service()constGets the ID of the service that is associated with this operation.SystemProgress(TMsvSystemProgress &)This call leads to calling CMsvOperation::SystemProgress(TMsvSystemProgress &...iMsvSessionMessage Server session used by object. This is set by the constructor. iMtmThe UID of the MTM associated with the operation.iObserverRequestStatusRequest status of the operation observer.iServiceThe 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::TSendOperationProgressSend 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::TSendOperationStateSend progress state.iStateTSendOperationState iState;
iErrorTInt iError;
iProgressMaxTInt iProgressMax;
iProgressTInt iProgress;
TSendOperationState
Send progress state.
CMsvSendOperation::TSendOperationProgressSend 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::TSendOperationProgressSend progress.protected: CMsvOperation * iOperation;
The sending operation.
Assigned when ConstructL is called