javatools/javaapppreconverter/src.s60/midletlist.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 19 71c436fe3ce0
--- a/javatools/javaapppreconverter/src.s60/midletlist.cpp	Tue May 11 16:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,513 +0,0 @@
-/*
-* Copyright (c) 2008 - 2009 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: Java platform 2.0 javaapppreconverter process
-*
-*/
-
-#include "midletlist.h"
-
-
-
-CMidletInfo::CMidletInfo() :
-        iMidletUid(TUid::Null()), iMidletId(KMaxTUint32), iSuiteId(KMaxTUint32),
-        iMidletName(NULL), iGroupName(NULL), iDrive(EDriveE)
-{
-}
-
-CMidletInfo::CMidletInfo(CMidletInfo* aMidletInfo)
-{
-    iMidletUid = aMidletInfo->GetMidletUid();
-    iMidletId = aMidletInfo->GetMidletId();
-    iSuiteId = aMidletInfo->GetSuiteId();
-    iMidletName = aMidletInfo->GetMidletName().Alloc();
-    iGroupName = aMidletInfo->GetGroupName().Alloc();
-    iDrive = aMidletInfo->GetDrive();
-    iIconFileName = aMidletInfo->GetIconFileName();
-}
-
-
-CMidletInfo::~CMidletInfo()
-{
-    delete iMidletName;
-    delete iGroupName;
-}
-
-
-TUid CMidletInfo::GetMidletUid() const
-{
-    return iMidletUid;
-}
-
-TUint32 CMidletInfo::GetMidletId() const
-{
-    return iMidletId;
-}
-
-TUint32 CMidletInfo::GetSuiteId() const
-{
-    return iSuiteId;
-}
-
-const TDesC& CMidletInfo::GetMidletName()
-{
-    if (NULL == iMidletName)
-    {
-        return KNullDesC;
-    }
-    else
-    {
-        return *iMidletName;
-    }
-}
-
-const TDesC& CMidletInfo::GetGroupName()
-{
-    if (NULL == iGroupName)
-    {
-        return KNullDesC;
-    }
-    else
-    {
-        return *iGroupName;
-    }
-}
-
-TDriveNumber CMidletInfo::GetDrive()
-{
-    return iDrive;
-}
-
-const TFileName& CMidletInfo::GetIconFileName()
-{
-    return iIconFileName;
-}
-
-
-
-
-void CMidletInfo::SetMidletUid(const TUid aUid)
-{
-    iMidletUid = aUid;
-}
-
-void CMidletInfo::SetMidletId(const TUint32 aId)
-{
-    iMidletId = aId;
-}
-
-void CMidletInfo::SetSuiteId(const TUint32 aId)
-{
-    iSuiteId = aId;
-}
-
-void CMidletInfo::SetMidletName(const TDesC& aName)
-{
-    iMidletName = aName.Alloc();
-}
-
-void CMidletInfo::SetGroupName(const TDesC& aName)
-{
-    iGroupName = aName.Alloc();
-}
-
-void CMidletInfo::SetDrive(const TDriveNumber aDrive)
-{
-    iDrive = aDrive;
-}
-
-void CMidletInfo::SetIconFileName(HBufC16 *aIconFileName)
-{
-    iIconFileName = *aIconFileName;
-}
-
-void CMidletInfo::SetIconFileName(const TFileName &aIconFileName)
-{
-    iIconFileName = aIconFileName;
-}
-
-void CMidletInfo::ExternalizeL(RWriteStream& aStream) const
-{
-    aStream.WriteUint32L(iMidletUid.iUid);
-    aStream.WriteUint32L(iMidletId);
-    aStream.WriteUint32L(iSuiteId);
-
-    TInt32 nLen = 0;
-    if (iMidletName)
-    {
-        nLen = iMidletName->Length();
-    }
-    aStream.WriteInt32L(nLen);
-    if (nLen > 0)
-    {
-        aStream.WriteL(*iMidletName);
-    }
-
-    nLen = 0;
-    if (iGroupName)
-    {
-        nLen = iGroupName->Length();
-    }
-    aStream.WriteInt32L(nLen);
-    if (nLen > 0)
-    {
-        aStream.WriteL(*iGroupName);
-    }
-
-    aStream.WriteUint32L(iDrive);
-
-    nLen = iIconFileName.Length();
-    aStream.WriteInt32L(nLen);
-    if (nLen > 0)
-    {
-        aStream.WriteL(iIconFileName);
-    }
-
-}
-
-void CMidletInfo::InternalizeL(RReadStream& aStream)
-{
-    iMidletUid.iUid = aStream.ReadUint32L();
-    iMidletId = aStream.ReadUint32L();
-    iSuiteId = aStream.ReadUint32L();
-
-    TInt32 nLen = 0;
-    nLen = aStream.ReadInt32L();
-    if (nLen > 0)
-    {
-        if (!iMidletName)
-        {
-            iMidletName = HBufC16::NewL(nLen + 8);
-        }
-
-        TPtr16 tmpDes = iMidletName->Des();
-        aStream.ReadL(tmpDes, nLen);
-    }
-    else
-    {
-        if (!iMidletName)
-        {
-            // empty midlet name
-            iMidletName = HBufC16::NewL(8);
-        }
-    }
-
-    nLen = aStream.ReadInt32L();
-    if (nLen > 0)
-    {
-        if (!iGroupName)
-        {
-            iGroupName = HBufC16::NewL(nLen + 8);
-        }
-        TPtr16 tmpDes = iGroupName->Des();
-        aStream.ReadL(tmpDes, nLen);
-    }
-    else
-    {
-        if (!iGroupName)
-        {
-            // empty group name
-            iGroupName = HBufC16::NewL(8);
-        }
-    }
-
-    iDrive = (TDriveNumber)aStream.ReadUint32L();
-
-    nLen = aStream.ReadInt32L();
-    if (nLen > 0)
-    {
-        aStream.ReadL(iIconFileName, nLen);
-    }
-}
-
-void CMidletInfo::ToString8(TDes8& aDescription)
-{
-    aDescription.Append(_L8("Uid: "));
-    aDescription.AppendNumFixedWidth(iMidletUid.iUid, EHex, 8);
-    aDescription.Append(_L8("\nMidlet id: "));
-    aDescription.AppendNumFixedWidth(iMidletId, EDecimal, 8);
-    aDescription.Append(_L8("\nSuite id: "));
-    aDescription.AppendNumFixedWidth(iSuiteId, EDecimal, 8);
-    aDescription.Append(_L8("\nName: "));
-    // Midlet name len is not limited. Make sure that buffer does not overflow.
-    aDescription.Append((*iMidletName).Left(256));
-    aDescription.Append(_L8("\nGroup: "));
-    // Group name is max 32 characters
-    aDescription.Append(*iGroupName);
-    aDescription.Append(_L8("\nDrive: "));
-    aDescription.AppendNumFixedWidth(iDrive, EDecimal, 2);
-}
-
-/* ---------------------------------------------------------------------------- */
-
-
-
-
-CMidletList::CMidletList() :
-        iMidletArray(RPointerArray<CMidletInfo>()), iGetNextIndex(0),
-        iMidletArrayDestroyed(EFalse)
-{
-
-}
-
-CMidletList::~CMidletList()
-{
-    // Free the memory used by the RPointerArray.
-    // Do not destroy objects itself.
-    if (!iMidletArrayDestroyed)
-    {
-        iMidletArray.Close();
-    }
-}
-
-void CMidletList::ResetAndDestroy()
-{
-    iMidletArray.ResetAndDestroy();
-    iMidletArrayDestroyed = ETrue;
-}
-
-TInt CMidletList::Append(const CMidletInfo* aMidletInfo)
-{
-    if (NULL != Find(aMidletInfo->GetMidletUid()))
-    {
-        // midlet is already in list, do nothing
-        return KErrNone;
-    }
-
-    return iMidletArray.Append(aMidletInfo);
-}
-
-void CMidletList::Remove(const CMidletInfo* aMidletInfo)
-{
-    TInt nInd = iMidletArray.Find(aMidletInfo);
-    if (nInd < 0)
-    {
-        // The object is not in list, do nothing
-        return;
-    }
-    else if (nInd < iGetNextIndex)
-    {
-        // Removing one of the objects already returned by
-        // getNext(), the indexes of the objects not yet returned by
-        // getNext() are decreased by one. Must decrease iGetNextIndex too.
-        iGetNextIndex--;
-    }
-
-    iMidletArray.Remove(nInd);
-}
-
-TInt CMidletList::Count() const
-{
-    return iMidletArray.Count();
-}
-
-CMidletInfo* CMidletList::GetFirst()
-{
-    iGetNextIndex = 1;
-
-    if (iMidletArray.Count() > 0)
-    {
-        return iMidletArray[0];
-    }
-    else
-    {
-        return NULL;
-    }
-}
-
-CMidletInfo* CMidletList::GetNext()
-{
-    if (iMidletArray.Count() > iGetNextIndex)
-    {
-        iGetNextIndex++;
-        return iMidletArray[iGetNextIndex-1];
-    }
-    else
-    {
-        return NULL;
-    }
-}
-
-CMidletInfo *CMidletList::Find(const TUid aMidletUid)
-{
-    TInt nCount = iMidletArray.Count();
-
-    for (TInt nInd = 0; nInd < nCount; nInd++)
-    {
-        if (iMidletArray[nInd]->GetMidletUid() == aMidletUid)
-        {
-            return iMidletArray[nInd];
-        }
-    }
-
-    return NULL;
-}
-
-/**
- * Return the first midlet that has name specified by aName and
- * for which the midlet id and suite id have not yet been set.
- * If midlet id and suite id have been set for all midlets with
- * name specified by aName, returns the first midlet with name
- * specified by aName
- */
-CMidletInfo *CMidletList::Find(const TPtrC &aName)
-{
-    CMidletInfo *firstFound = NULL;
-    TInt nCount = iMidletArray.Count();
-
-    for (TInt nInd = 0; nInd < nCount; nInd++)
-    {
-        if (iMidletArray[nInd]->GetMidletName() == aName)
-        {
-            // If midlet id and suite id have already been set,
-            // find next midlet with the same name if any.
-            // If no such midlet, return this one.
-            if (NULL == firstFound)
-            {
-                firstFound = iMidletArray[nInd];
-            }
-            if ((iMidletArray[nInd]->GetSuiteId() == KMaxTUint32) &&
-                    (iMidletArray[nInd]->GetMidletId() == KMaxTUint32))
-            {
-                return iMidletArray[nInd];
-            }
-        }
-    }
-
-    return firstFound;
-}
-
-void CMidletList::SetIds(
-    const TUint32 aUid,
-    const TUint32 aMidletSuiteId,
-    const TUint32 aMidletId)
-{
-    TUid uid;
-    uid.iUid = aUid;
-    CMidletInfo *midlet = Find(uid);
-
-    if (NULL != midlet)
-    {
-        midlet->SetSuiteId(aMidletSuiteId);
-        midlet->SetMidletId(aMidletId);
-    }
-}
-
-void CMidletList::SetIds(
-    const TPtrC &aName,
-    const TUint32 aMidletSuiteId,
-    const TUint32 aMidletId)
-{
-    CMidletInfo *midlet = Find(aName);
-
-    if (NULL != midlet)
-    {
-        midlet->SetSuiteId(aMidletSuiteId);
-        midlet->SetMidletId(aMidletId);
-    }
-}
-
-void CMidletList::ExportListL(RFs& aFs, const TFileName &aDirectory)
-{
-    if (iMidletArrayDestroyed || (iMidletArray.Count() == 0))
-    {
-        // Trying to export empty list is an error
-        User::Leave(KErrArgument);
-    }
-
-    // Create directory if it does not exist
-    TInt err= aFs.MkDirAll(aDirectory);
-    if ((KErrNone != err) && (KErrAlreadyExists != err))
-    {
-        User::Leave(err);
-    }
-
-    // Copy all icon files to directory
-    CFileMan    *fm = CFileMan::NewL(aFs);
-    CleanupStack::PushL(fm);
-    CMidletInfo *midlet = GetFirst();
-    TFileName    newIconFileName;
-    TParse       nameParser;
-    TUint32      nMidlets = 0;
-
-    while (NULL != midlet)
-    {
-        User::LeaveIfError(fm->Copy(midlet->GetIconFileName(), aDirectory));
-
-        // set new icon file name
-        newIconFileName = aDirectory;
-        User::LeaveIfError(nameParser.Set(midlet->GetIconFileName(), NULL, NULL));
-        newIconFileName.Append(nameParser.NameAndExt());
-        midlet->SetIconFileName(newIconFileName);
-
-        nMidlets++;
-        midlet = GetNext();
-    }
-
-    // Store all midlet info to a file in the directory
-    TFileName dataFilename = aDirectory;
-    dataFilename.Append(KMidletExportDataFileName);
-
-    // Construct write stream so that new data file is created.
-    // If the file already exists, leave
-    RFileWriteStream writeStream;
-    User::LeaveIfError(writeStream.Create(aFs, dataFilename, EFileWrite));
-    CleanupClosePushL(writeStream);
-
-    // Write the number of midlets
-    writeStream.WriteUint32L(nMidlets);
-
-    // write the midlet info one by one
-    midlet = GetFirst();
-    while (NULL != midlet)
-    {
-        midlet->ExternalizeL(writeStream);
-        midlet = GetNext();
-    }
-
-    CleanupStack::PopAndDestroy();  // writeStream
-    CleanupStack::PopAndDestroy(fm);
-}
-
-void CMidletList::ImportListL(RFs& aFs, const TFileName &aDirectory)
-{
-    CMidletInfo *midlet = NULL;
-
-    // Form the data file name
-    TFileName dataFilename = aDirectory;
-    dataFilename.Append(KMidletExportDataFileName);
-
-    // Open existing data file. If the file does not exist, leave
-    RFileReadStream readStream;
-    User::LeaveIfError(readStream.Open(aFs, dataFilename, EFileRead));
-    CleanupClosePushL(readStream);
-
-    // Read the number of midlets
-    TUint32 nMidlets = readStream.ReadUint32L();
-
-    for (TInt nInd = 0; nInd < nMidlets; nInd++)
-    {
-        // Read info of one midlet
-        midlet = new(ELeave) CMidletInfo;
-        CleanupStack::PushL(midlet);
-        midlet->InternalizeL(readStream);
-
-        // Add it to list
-        Append(midlet);
-        CleanupStack::Pop(midlet);
-    }
-
-    // close readStream
-    CleanupStack::PopAndDestroy();
-}
-