mmserv/tms/tmsserver/src/tmsrtcontainer.cpp
branchRCL_3
changeset 20 0ac9a5310753
parent 19 095bea5f582e
child 21 999b2818a0eb
--- a/mmserv/tms/tmsserver/src/tmsrtcontainer.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:  Class representing ringing tone
- *
- */
-
-// INCLUDE FILES
-#include <apgcli.h>
-#include <DRMHelper.h>
-#include <bldvariant.hrh>
-#include "tmsrtcontainer.h"
-
-using namespace TMS;
-
-// CONSTANTS
-// Rich audio file MIME types
-_LIT(KAac, "audio/aac");
-_LIT(KMp3, "audio/mp3");
-_LIT(KMpeg, "audio/mpeg");
-_LIT(K3gpp, "audio/3gpp");
-_LIT(KMp4, "audio/mp4");
-_LIT(KAmrWb, "audio/amr-wb");
-_LIT(KWavX, "audio/x-wav");
-_LIT(KWav, "audio/wav");
-// Rich video file MIME types
-_LIT(KV3gpp, "video/3gpp");
-_LIT(KVMp4, "video/mp4");
-_LIT(KV3gpp2, "video/3gpp2");
-// Used in CPhoneRingingTone
-_LIT(KPhoneRingingToneDriveZ, "z:");
-#ifdef RD_VIDEO_AS_RINGING_TONE
-_LIT(KPhoneRingingToneVideoMime, "video/*");
-_LIT(KPhoneRingingToneRealVideoMime, "*realmedia");
-#endif
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::TMSRtContainer
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-TMSRtContainer::TMSRtContainer(TBool aDrmInPlayback) :
-    iDrmInPlayback(aDrmInPlayback)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::ConstructL
-// Symbian 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void TMSRtContainer::ConstructL(const TDesC& aFileName)
-    {
-    iFileName = aFileName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-TMSRtContainer* TMSRtContainer::NewL(const TDesC& aFileName,
-        TBool aDrmInPlayback)
-    {
-    TMSRtContainer* self = new (ELeave) TMSRtContainer(aDrmInPlayback);
-    CleanupStack::PushL(self);
-    self->ConstructL(aFileName);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// Destructor
-TMSRtContainer::~TMSRtContainer()
-    {
-    delete iFileName;
-    delete iMimeType;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::SetFileName
-// -----------------------------------------------------------------------------
-//
-void TMSRtContainer::SetFileName(const TDesC& aFileName)
-    {
-    delete iFileName;
-    iFileName = aFileName.Alloc();
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::FileName
-// -----------------------------------------------------------------------------
-//
-const TDesC& TMSRtContainer::FileName() const
-    {
-    // iFileName is never NULL
-    return *iFileName;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::MimeType
-// -----------------------------------------------------------------------------
-//
-const TDesC& TMSRtContainer::MimeType() const
-    {
-    if (iMimeType)
-        {
-        return *iMimeType;
-        }
-    else
-        {
-        return KNullDesC;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsVideoRingingTone
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsVideoRingingTone()
-    {
-#ifdef RD_VIDEO_AS_RINGING_TONE
-    if (RefreshMime() != KErrNone)
-        {
-        // try to handle as audio
-        return EFalse;
-        }
-
-    TBool isVideo(EFalse);
-
-    if (iMimeType && iMimeType->MatchF(KPhoneRingingToneVideoMime)
-            != KErrNotFound)
-        {
-        isVideo = ETrue;
-        }
-    else if (iMimeType && iMimeType->MatchF(KPhoneRingingToneRealVideoMime)
-            != KErrNotFound)
-        {
-        isVideo = ETrue;
-        }
-
-    if (isVideo)
-        {
-        if (IsFileInRom() && !IsFileInVideoDirectory())
-            {
-            // For ROM files check also location, because
-            // MIME check is not fully reliable.
-            isVideo = EFalse;
-            }
-        }
-
-    return isVideo;
-
-#else
-    // if extended security -> refresh MIME
-    if (iDrmInPlayback)
-        {
-        RefreshMime();
-        }
-
-    return EFalse;
-#endif
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsFileDrmProtected
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsFileDrmProtected() const
-    {
-    const TDesC& type = MimeType();
-
-    if (type == KAac || type == KMp3 || type == KMpeg || type == K3gpp ||
-            type == KMp4 || type == KAmrWb || type == KWavX || type == KWav ||
-            type == KV3gpp || type == KVMp4 || type == KV3gpp2)
-        {
-        ContentAccess::CContent* content = NULL;
-        TRAPD(err, content = ContentAccess::CContent::NewL(*iFileName));
-        if (err == KErrNone && content)
-            {
-            TInt drmProtected(0);
-            content->GetAttribute(ContentAccess::EIsProtected, drmProtected);
-            delete content;
-            return drmProtected;
-            }
-        }
-
-    return ETrue; // Other MIMEs can be played without DRM check.
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsFileInRom
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsFileInRom() const
-    {
-    TParsePtrC parsedName(*iFileName);
-
-    // Files on ROM don't need to be checked for DRM
-    if (parsedName.Drive().CompareF(KPhoneRingingToneDriveZ) == 0)
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::IsFileInVideoDirectory
-// -----------------------------------------------------------------------------
-//
-TBool TMSRtContainer::IsFileInVideoDirectory() const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::RefreshMime
-// -----------------------------------------------------------------------------
-//
-TInt TMSRtContainer::RefreshMime()
-    {
-    TRAPD(err, RefreshMimeL());
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// TMSRtContainer::RefreshMimeL
-// -----------------------------------------------------------------------------
-//
-void TMSRtContainer::RefreshMimeL()
-    {
-    RApaLsSession apaLsSession;
-    User::LeaveIfError(apaLsSession.Connect());
-    CleanupClosePushL(apaLsSession);
-    TUid dummyUid = {0};
-    TDataType dataType(dummyUid);
-    User::LeaveIfError(apaLsSession.AppForDocument(*iFileName, dummyUid,
-            dataType));
-    CleanupStack::PopAndDestroy(); // CleanupClosePushL
-    delete iMimeType;
-    iMimeType = NULL;
-    iMimeType = dataType.Des().AllocL();
-    }
-
-//  End of File