commondrm/drmrightsmanagerui/src/DRMRightsMgrAppUi.cpp
branchRCL_3
changeset 17 e16d72588c28
parent 0 95b198f216e5
child 18 8a03a285ab14
equal deleted inserted replaced
9:89a1f2bd800d 17:e16d72588c28
   229     // Check the status of rights. Currently supports OMA and WM DRM.
   229     // Check the status of rights. Currently supports OMA and WM DRM.
   230     switch ( iDrmScheme )
   230     switch ( iDrmScheme )
   231         {
   231         {
   232         case EDrmSchemeOmaDrm:
   232         case EDrmSchemeOmaDrm:
   233             CheckOmaDrmRightsL( aContentURI, aLocalID, rights, status );
   233             CheckOmaDrmRightsL( aContentURI, aLocalID, rights, status );
   234             if ( status ) 
   234             if ( status < 0 ) 
   235                 {
   235                 {
   236                 rights = NULL;
   236                 rights = NULL;
   237                 }
   237                 }
   238             break;
   238             break;
   239 
   239 
   329                                        TDes& aItemName,
   329                                        TDes& aItemName,
   330                                        const TDesC8& aID,
   330                                        const TDesC8& aID,
   331                                        const TBool aIsGroup )
   331                                        const TBool aIsGroup )
   332     {
   332     {
   333     CDcfCommon* dcf = NULL;
   333     CDcfCommon* dcf = NULL;
       
   334     HBufC8* buffer( NULL );
   334     TBool getName = ETrue;
   335     TBool getName = ETrue;
   335     TParse parse;
   336     TParse parse;
   336 
   337 
   337     // don't get the name if dealing with a file from a group
   338     // don't get the name if dealing with a file from a group
   338     if ( !aIsGroup )
   339     if ( !aIsGroup )
   354         HBufC* itemNameBuf = NULL;
   355         HBufC* itemNameBuf = NULL;
   355         TInt err = iRightsClient.GetName( aID, itemNameBuf );
   356         TInt err = iRightsClient.GetName( aID, itemNameBuf );
   356 
   357 
   357         if ( err == KErrNotFound || itemNameBuf->Length() == 0 )
   358         if ( err == KErrNotFound || itemNameBuf->Length() == 0 )
   358             {
   359             {
   359             if ( aIsGroup )
   360             // Do not show name if group rights or forward lock
   360                 {
   361             if ( !aIsGroup )
   361                 aItemName = aFullName;
   362                 {
   362                 }
   363                 if ( ( iRightsClient.ForwardLockURI( buffer ) == 
   363             else
   364                         KErrNone ) && buffer )  
   364                 {
   365                     {
   365                 parse.Set( aFullName, NULL, NULL );
   366                     
   366                 aItemName = parse.NameAndExt();
   367                     // Not forward lock
       
   368                     if ( aID.Compare( *buffer ) != 0 )    
       
   369                         {
       
   370                         parse.Set( aFullName, NULL, NULL );
       
   371                         aItemName = parse.NameAndExt();
       
   372                         }   
       
   373                     delete buffer;
       
   374                     buffer = NULL;
       
   375                     
       
   376                     }       
       
   377                 else
       
   378                     {
       
   379                     parse.Set( aFullName, NULL, NULL );
       
   380                     aItemName = parse.NameAndExt();
       
   381                     }
   367                 }
   382                 }
   368             }
   383             }
   369         else if ( err == KErrNone )
   384         else if ( err == KErrNone )
   370             {
   385             {
   371             aItemName = *itemNameBuf;
   386             // Forward lock or combined delivery
       
   387             // If forward lock, do not show name
       
   388             if ( iRightsClient.ForwardLockURI( buffer ) == KErrNone &&
       
   389                     buffer )
       
   390                 {
       
   391                 if ( aID.Compare( *buffer ) != 0 )
       
   392                     {
       
   393                     // Combined delivery
       
   394                     aItemName = *itemNameBuf;
       
   395                     }
       
   396                 delete buffer;
       
   397                 }
       
   398             else 
       
   399                 {
       
   400                 // Do not show name if having group rights
       
   401                 if ( !aIsGroup )
       
   402                     {
       
   403                     aItemName = *itemNameBuf;
       
   404                     }
       
   405                 }
   372             }
   406             }
   373         else
   407         else
   374             {
   408             {
   375             User::Leave( err );
   409             User::Leave( err );
   376             }
   410             }
   718 
   752 
   719             CDcfEntry* entry = dcfRep->NextL();
   753             CDcfEntry* entry = dcfRep->NextL();
   720             if ( entry )
   754             if ( entry )
   721                 {
   755                 {
   722                 fullName = entry->FileName();
   756                 fullName = entry->FileName();
       
   757                 SetSelectedItemFullName( fullName );
       
   758 
       
   759                 TFileName itemName;
       
   760                 
       
   761                 if ( entry->GroupId().Length() > 0 )
       
   762                     {
       
   763                     GetItemNameL( fullName, itemName, aContentURI, ETrue );
       
   764                     }    
       
   765                 else 
       
   766                     {
       
   767                     GetItemNameL( fullName, itemName, aContentURI, EFalse );
       
   768                     }
       
   769                 
   723                 delete entry;
   770                 delete entry;
   724                 SetSelectedItemFullName( fullName );
   771                 
   725 
       
   726                 TFileName itemName;
       
   727                 GetItemNameL( fullName, itemName, aContentURI, EFalse );
       
   728                 SetSelectedItemName( itemName );
   772                 SetSelectedItemName( itemName );
   729 
   773 
   730                 if ( GetItemDataL( fullName, aContentURI, listable,
   774                 if ( GetItemDataL( fullName, aContentURI, listable,
   731                     sendable ) == KErrNone )
   775                     sendable ) == KErrNone )
   732                     {
   776                     {
   736             }
   780             }
   737         else // No related media was found
   781         else // No related media was found
   738             {
   782             {
   739             SetSelectedItemFullName( KNullDesC );
   783             SetSelectedItemFullName( KNullDesC );
   740             TFileName itemName;
   784             TFileName itemName;
       
   785             // Treat in GetItemNameL as if having group rights
   741             GetItemNameL( KNullDesC, itemName, aContentURI, ETrue );
   786             GetItemNameL( KNullDesC, itemName, aContentURI, ETrue );
   742             SetSelectedItemName( itemName );
   787             SetSelectedItemName( itemName );
   743 
   788 
   744             SetSelectedContentCanBeSent( EFalse );
   789             SetSelectedContentCanBeSent( EFalse );
   745             }
   790             }
   751 
   796 
   752     if ( aLocalID > 0 )
   797     if ( aLocalID > 0 )
   753         {
   798         {
   754         aStatus = iDRMCommon->GetSingleRightsObject( aContentURI,
   799         aStatus = iDRMCommon->GetSingleRightsObject( aContentURI,
   755             aLocalID, aRights );
   800             aLocalID, aRights );
   756         }
   801         if ( aStatus )
   757         else
   802             {
       
   803             aRights = NULL;
       
   804             }
       
   805         }
       
   806     else
   758         {
   807         {
   759         aStatus = iDRMCommon->GetActiveRights( aContentURI, 0, aRights );
   808         aStatus = iDRMCommon->GetActiveRights( aContentURI, 0, aRights );
   760         }
       
   761     if ( aStatus )
       
   762         {
       
   763         aRights = NULL;
       
   764         }
   809         }
   765 
   810 
   766     CheckIndividualConstraint( aContentURI, individualConstraint, usageAllowed );
   811     CheckIndividualConstraint( aContentURI, individualConstraint, usageAllowed );
   767     SetSelectedIndividualConstraint( individualConstraint );
   812     SetSelectedIndividualConstraint( individualConstraint );
   768     SetSelectedUsageAllowed( usageAllowed );
   813     SetSelectedUsageAllowed( usageAllowed );