diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/cmtpexampledprequestprocessor_8h_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/cmtpexampledprequestprocessor_8h_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,170 @@ + + + + +TB9.2 Example Applications: examples/RemoteConn/MtpDataProviderExample/inc/cmtpexampledprequestprocessor.h Source File + + + + + +

examples/RemoteConn/MtpDataProviderExample/inc/cmtpexampledprequestprocessor.h

00001 // Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+00002 // All rights reserved.
+00003 // This component and the accompanying materials are made available
+00004 // under the terms of "Eclipse Public License v1.0"
+00005 // which accompanies this distribution, and is available
+00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
+00007 //
+00008 // Initial Contributors:
+00009 // Nokia Corporation - initial contribution.
+00010 //
+00011 // Contributors:
+00012 //
+00013 // Description:
+00014 //
+00015 
+00016 
+00017 #ifndef __CMTPEXAMPLEDPREQUESTPROCESSOR_H__
+00018 #define __CMTPEXAMPLEDPREQUESTPROCESSOR_H__
+00019 
+00020 #include <e32base.h>
+00021 #include <mtp/mtpdataproviderapitypes.h>
+00022 #include <mtp/mtpprotocolconstants.h>
+00023 #include <mtp/tmtptyperesponse.h>
+00024 #include <mtp/tmtptypenull.h>
+00025 
+00026 
+00027 class TMTPTypeRequest;
+00028 class CMTPDataProviderPlugin;
+00029 class MMTPDataProviderFramework;
+00030 class TMTPTypeEvent;
+00031 
+00032 struct TMTPRequestElementInfo; 
+00033 
+00039 class MMTPExampleDpRequestProcessor
+00040         {
+00041 public: 
+00042         /*
+00043         Process a request from the initiator
+00044         @param aRequest The request to be processed
+00045         @param aPhase   The transaction phase of the request
+00046         @return ETrue to signal that the processor object can be deleted, EFalse to keep the processor object
+00047         */
+00048         virtual TBool HandleRequestL(const TMTPTypeRequest& aRequest, TMTPTransactionPhase aPhase) = 0;
+00049         
+00050         /*
+00051         Process an event from the initiator
+00052         @param aEvent   The event to be processed
+00053         */
+00054         virtual void HandleEventL(const TMTPTypeEvent& aEvent) = 0;
+00055         
+00056         /*
+00057     Check if the processor matches the request on the connection
+00058     @param aRequest The request to be checked
+00059     @param aConnection The connection from which the request comes
+00060     @return ETrue to indicate the processor can handle the request, otherwise, EFalse
+00061     */
+00062     virtual TBool Match(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) const = 0;
+00063         
+00064         /*
+00065         Check if the processor matches the event on the connection
+00066         @param aEvent The event to be checked
+00067         @param aConnection The connection from which the event comes
+00068         @return ETrue to indicate the processor can handle the event, otherwise, EFalse
+00069         */      
+00070         virtual TBool Match(const TMTPTypeEvent& aEvent, MMTPConnection& aConnection) const = 0;
+00071         
+00072         /*
+00073         Get the request object which the processor is currently handling
+00074         @return the request object which the processor is currently handling
+00075         */
+00076         virtual const TMTPTypeRequest& Request() const = 0;
+00077         
+00078         /*
+00079         Get the connection object associated with the current request object
+00080         @return the connection object associated with the current request object
+00081         */
+00082         virtual MMTPConnection& Connection() const = 0;
+00083     /*
+00084     Get the Session ID associated with the current request object
+00085     @return Session ID associated with the current request object
+00086     */  
+00087         
+00088         virtual TUint32 SessionId() = 0;
+00089    /*
+00090     delete the request processor object
+00091     */
+00092     virtual void Release() = 0;
+00093 
+00094         };
+00095 
+00099 typedef MMTPExampleDpRequestProcessor* (*TMTPRequestProcessorCreateFunc)(
+00100                                                                                                                                 MMTPDataProviderFramework& aFramework, 
+00101                                                                                                                                 MMTPConnection& aConnection);
+00102 
+00106 typedef struct 
+00107         {
+00108         TUint16                                                 iOperationCode;
+00109         TMTPRequestProcessorCreateFunc  iCreateFunc;
+00110         }TMTPRequestProcessorEntry;
+00111 
+00112 class CMTPExampleDpRequestProcessor : public MMTPExampleDpRequestProcessor
+00113     {
+00114 protected:  
+00115     CMTPExampleDpRequestProcessor(
+00116                         MMTPDataProviderFramework& aFramework,
+00117                         MMTPConnection& aConnection,
+00118                         TInt aElementCount,
+00119                         const TMTPRequestElementInfo* aElements);
+00120     virtual ~CMTPExampleDpRequestProcessor();   
+00121 
+00122 protected:  //utility methods   
+00123     void SendResponseL(TMTPResponseCode aResponseCode, TInt aParameterCount = 0, TUint32* aParams = NULL);
+00124     void CompleteRequestL();
+00125         
+00126 protected:  //  from MMTPRequestProcessor   
+00127     virtual TBool HandleRequestL(const TMTPTypeRequest& aRequest, TMTPTransactionPhase aPhase);
+00128     virtual void HandleEventL(const TMTPTypeEvent& aEvent);
+00129     virtual void Release();
+00130     virtual TBool Match(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) const;
+00131     virtual TBool Match(const TMTPTypeEvent& aEvent, MMTPConnection& aConnection) const;  
+00132     virtual const TMTPTypeRequest& Request() const;
+00133     virtual MMTPConnection& Connection() const;
+00134     virtual TUint32 SessionId();
+00135 
+00136 
+00137 protected:  //new virtuals  
+00138     virtual TBool DoHandleResponsePhaseL();
+00139     virtual TBool DoHandleCompletingPhaseL();
+00140     
+00141     /*
+00142     service a request at request phase
+00143     */
+00144     virtual void ServiceL() = 0;
+00145 
+00146 private:
+00147     void ExtractSessionTransactionId();                 
+00148     
+00149 protected:
+00150     MMTPDataProviderFramework&      iFramework;
+00151     const TMTPTypeRequest*          iRequest;           //the pending request object.
+00152     MMTPConnection&                 iConnection;        //the connection from which the request comes.
+00153     TMTPTypeResponse                iResponse;          //the response object to send to the initiator.
+00154     TBool                           iCancelled;         //indicates whether the data phase (send/receive) has been cancelled.
+00155     TInt                            iElementCount;      //number of verification elements used for request checker.
+00156     const TMTPRequestElementInfo*   iElements;          //pointer to an array of verification elements.
+00157     TUint32                         iSessionId;         //session id for the pending request.
+00158     TUint32                         iTransactionCode;   //transaction code for the pending request.
+00159 
+00160 private:
+00161     TMTPResponseCode                iResponseCode;      // contains response from CheckRequestL call.
+00162     };
+00163 
+00164 #endif // __CMTPEXAMPLEDPREQUESTPROCESSOR_H__
+00165 
+
+
Generated by  + +doxygen 1.6.2
+ +