mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectreferences.cpp
branchRCL_3
changeset 34 e257e2b6459d
parent 30 6f9f6e99a23e
equal deleted inserted replaced
30:6f9f6e99a23e 34:e257e2b6459d
    86 // -----------------------------------------------------------------------------
    86 // -----------------------------------------------------------------------------
    87 // CSetObjectReferences::CSetObjectReferences
    87 // CSetObjectReferences::CSetObjectReferences
    88 // Standard c++ constructor
    88 // Standard c++ constructor
    89 // -----------------------------------------------------------------------------
    89 // -----------------------------------------------------------------------------
    90 //
    90 //
    91 EXPORT_C CSetObjectReferences::CSetObjectReferences( MMTPDataProviderFramework& aFramework,
    91 CSetObjectReferences::CSetObjectReferences( MMTPDataProviderFramework& aFramework,
    92     MMTPConnection& aConnection,
    92     MMTPConnection& aConnection,
    93     MMmMtpDpConfig& aDpConfig ) :
    93     MMmMtpDpConfig& aDpConfig ) :
    94         CRequestProcessor( aFramework,
    94         CRequestProcessor( aFramework,
    95             aConnection,
    95             aConnection,
    96             sizeof( KMTPSetObjectReferencesPolicy ) / sizeof( TMTPRequestElementInfo ),
    96             sizeof( KMTPSetObjectReferencesPolicy ) / sizeof( TMTPRequestElementInfo ),
   103 // -----------------------------------------------------------------------------
   103 // -----------------------------------------------------------------------------
   104 // CSetObjectReferences::DoSetObjectReferencesL
   104 // CSetObjectReferences::DoSetObjectReferencesL
   105 // set references to DB
   105 // set references to DB
   106 // -----------------------------------------------------------------------------
   106 // -----------------------------------------------------------------------------
   107 //
   107 //
   108 EXPORT_C void CSetObjectReferences::DoSetObjectReferencesL( const CMTPObjectMetaData& aObject )
   108 void CSetObjectReferences::DoSetObjectReferencesL( const CMTPObjectMetaData& aObject )
   109     {
   109     {
   110     TUint formatCode = aObject.Uint( CMTPObjectMetaData::EFormatCode );
   110     TUint formatCode = aObject.Uint( CMTPObjectMetaData::EFormatCode );
   111     TBool hasReference = MmMtpDpUtility::HasReference( formatCode );
   111     TBool hasReference = MmMtpDpUtility::HasReference( formatCode );
   112 
   112 
   113     if ( hasReference )
   113     if ( hasReference )
   162 
   162 
   163         CMTPObjectMetaData* object = CMTPObjectMetaData::NewLC(); // + object
   163         CMTPObjectMetaData* object = CMTPObjectMetaData::NewLC(); // + object
   164         iFramework.ObjectMgr().ObjectL( objectHandle, *object );
   164         iFramework.ObjectMgr().ObjectL( objectHandle, *object );
   165         PRINT1( _L( "MM MTP <> object file name is %S" ), &(object->DesC( CMTPObjectMetaData::ESuid ) ) );
   165         PRINT1( _L( "MM MTP <> object file name is %S" ), &(object->DesC( CMTPObjectMetaData::ESuid ) ) );
   166         DoSetObjectReferencesL( *object );
   166         DoSetObjectReferencesL( *object );
       
   167         
       
   168         // set it to something else other than EMTPSubFormatCodeUnknown to prevent being queried from MPX later in the same session
       
   169         object->SetUint( CMTPObjectMetaData::EFormatSubCode, EMTPSubFormatCodeUndefined );
       
   170         iFramework.ObjectMgr().ModifyObjectL( *object );
   167 
   171 
   168         CleanupStack::PopAndDestroy( object ); // - object
   172         CleanupStack::PopAndDestroy( object ); // - object
   169 
   173 
   170         SendResponseL( EMTPRespCodeOK );
   174         SendResponseL( EMTPRespCodeOK );
   171         }
   175         }