mmserv/thumbnailengine/TneAPIInc/HXTneserver.h
branchRCL_3
changeset 30 ab526b8cacfb
parent 0 71ca22bcf22a
equal deleted inserted replaced
24:bea5e7625e42 30:ab526b8cacfb
    53     };
    53     };
    54 
    54 
    55 
    55 
    56 /////////////////Session class///////////////////////////
    56 /////////////////Session class///////////////////////////
    57 
    57 
    58 class CTneSession : public CSession2, public MHXThumbnailUtilityImplObserver
    58 class CTneSession : public CSession2,public CActive, public MHXThumbnailUtilityImplObserver
    59     
    59     
    60     {
    60     {
    61 public:
    61 public:
    62     CTneSession();
    62     CTneSession();
    63     ~CTneSession();
    63     ~CTneSession();
    70 	 // observer interface from MHXThumbnailUtilityImplObserver
    70 	 // observer interface from MHXThumbnailUtilityImplObserver
    71     void MetaDataReady(TInt aError);
    71     void MetaDataReady(TInt aError);
    72     void PacketReady(TInt aError, void *pData, TUint32 aDataSize);  
    72     void PacketReady(TInt aError, void *pData, TUint32 aDataSize);  
    73     void EndOfPackets();
    73     void EndOfPackets();
    74    
    74    
       
    75     // CActive methods
       
    76      virtual void RunL();
       
    77      virtual void DoCancel();
       
    78      
    75 protected:
    79 protected:
    76      
    80      
    77     void    CompleteRequest(TInt aError);    // Completes the Rmessage corresponding to Getthumb
    81     void    CompleteRequest(const RMessage2& aMessage, TInt aError);    // Completes the RMessage corresponding to Getthumb
    78     void    FetchBasicMetaData();               // Extract metadata from Util
    82     void    FetchBasicMetaData();               // Extract metadata from Util
    79     void    DoGetThumb();                           // Calls Notification of Thumbpending to client on Clients request to Get thumb
    83     void    DoGetThumb();                           // Calls Notification of Thumbpending to client on Clients request to Get thumb
    80     TBool   IsGoodFrame(TUint8* aYUVDataPtr);  // checks on the value of each frame wrt  width and height 
    84     TBool   IsGoodFrame(TUint8* aYUVDataPtr);  // checks on the value of each frame wrt  width and height 
    81     void    StopServer();
    85     void    StopServer();
    82     
    86     
    83     void NotifyIfGetThumbPending(TInt aError, TUint8 *&pYUVBuffer); // Notifies client of thumb pending 
    87     void NotifyIfGetThumbPending(TInt aError, TUint8 *&pYUVBuffer); // Notifies client of thumb pending 
       
    88     void NotifyIfGetMetaDataPending(TInt aError); // Notifies client of metadata pending 
    84     TInt ReOpenFile(RFile &aFileHandle); // Called in case the clip is required to be open not from 0 index but from middle of clip
    89     TInt ReOpenFile(RFile &aFileHandle); // Called in case the clip is required to be open not from 0 index but from middle of clip
    85     TInt DoOpenFile(RFile &aFileHandle, TUint uStartTime);
    90     TInt DoOpenFile(RFile &aFileHandle, TUint uStartTime);
    86     TInt GetStartingTime(TUint &uStartingTime);
    91     TInt GetStartingTime(TUint &uStartingTime);
    87     void CompleteCancelRequest(); // Completes the Rmessage corresponding to GetCancel
    92     void CompleteCancelRequest(); // Completes the Rmessage corresponding to GetCancel
    88     
    93     
   114                                                
   119                                                
   115                                                
   120                                                
   116         // Concatenated YUV data for decoded frame
   121         // Concatenated YUV data for decoded frame
   117         TUint8* 		                             iYUVBuffer;      
   122         TUint8* 		                             iYUVBuffer;      
   118         TUint8**                                     iClientYUVBufferPtrPtr;
   123         TUint8**                                     iClientYUVBufferPtrPtr;
   119         TBool		                                 m_bOpenFileLPending;
   124         TBool		                                 iReOpenFileLPending;
   120         TBool                                        iGetThumbPending;
   125         TBool                                        iGetThumbPending;
   121                                                
   126                                                
   122         TBool                                        iCloseHandle;
   127         TBool                                        iCloseHandle;
   123         TBool                                        ibOpenFilePending;
   128         TBool                                        ibOpenFilePending;
   124         TInt                                         iThumbIndex;
   129         TInt                                         iThumbIndex;
   125                                               
   130                                               
   126         RMessage2	                                 iClientRequest;
   131         RMessage2	                                 iClientRequest;   // This message will handle Open related request. 
   127         RMessage2	                                 iCancelRequest;
   132         RMessage2	                                 iCancelRequest;   // This message will handle Cancel request
       
   133         RMessage2                                    iMetaDataRequest; // This message will handle MetaData Request
       
   134         RMessage2                                    iThumbnailRequest;// This message will handle thumbnail message
       
   135 
   128         // helix thumbnail utility	           
   136         // helix thumbnail utility	           
   129         CHXThumbnailUtility*         	             iUtil;
   137         CHXThumbnailUtility*         	             iUtil;
   130         EThumbnailUtilState                          m_State;  
   138         EThumbnailUtilState                          m_State;  
   131         RFile                                        iFileHandle;
   139         RFile                                        iFileHandle;
   132 
   140 
   133         TBool                                        m_bMetaDataReady;
   141         TBool                                        m_bMetaDataReady;
       
   142         TUint                                        iPosition;
   134 
   143 
   135     };                                         
   144     };                                         
   136     
   145     
   137 #endif // _CHXCTneServer_H_
   146 #endif // _CHXCTneServer_H_