scrsaver/scrsaverplugins/BmpAnimScrPlugin/src/CBmpAnimSettings.cpp
changeset 14 8a173132b0aa
parent 2 058b1fc1663a
--- a/scrsaver/scrsaverplugins/BmpAnimScrPlugin/src/CBmpAnimSettings.cpp	Mon Jan 18 20:19:52 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +0,0 @@
-/*
-* Copyright (c) 2003 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:     Loads and stores the bitmap animator settings
-*
-*/
-
-
-
-
-
-#include <e32std.h>
-
-#include "CBmpAnimSettings.h"
-
-#include "BmpAnimUtils.h"
-#include <f32file.h>
-
-// Defaults
-const TInt KRunningTime = 1000000 * 60;  // 60 secs
-const TInt KTiming = 200000;  // 5 fps 
-const TInt KSuspendTime = -1; // Max = KMaxTInt, -1 = indefinitely
-const TInt KUndefined = -1;
-
-// Configuration file name
-_LIT(KIniFile, "BmpAnimScrPlugin.ini");
-
-// Default bitmap file name
-_LIT(KMbmFileName, "BmpAnimScrPlugin.mbm");
-
-// Default bitmap file name - lansdscape
-_LIT(KMbmFileNameL, "BmpAnimScrPluginL.mbm");
-
-// Basic info section name
-_LIT8(KIniSectionInfo, "info");
-
-// Info section keys
-_LIT8(KIniKeyName, "name");  // plugin name
-_LIT8(KIniKeyNumImages, "numimages");  // number of images
-_LIT8(KIniKeyMbmFile, "mbmfile");  // name of imagefile
-_LIT8(KIniKeyMbmFileL, "mbmfilelandscape");  // name of landscape imagefile
-_LIT8(KIniKeyRunningTime, "runningtime");  // time to run animation (in millis)
-_LIT8(KIniKeyLoopCount, "loopcount");  // loop count (if time is not defined)
-_LIT8(KIniKeySuspendTime, "suspendtime");  // time to suspend (in millis)
-_LIT8(KIniKeyTiming, "timing");  // time to display each image (RE-USED BELOW)
-_LIT8(KIniKeyLights, "lights");  // lights on for 5 secs. Over 5 = number of secs
-_LIT8(KIniKeyUseLandscape, "uselandscape");  // 1 = landscape image file used
-_LIT8(KIniKeyScaleBmps, "scalebmps");  // 1 = bitmaps scaled to screen size
-
-// Image section base name
-_LIT8(KIniSectionImageBase, "image");  // image information section name
-
-// Image section keys
-_LIT8(KIniKeyType, "type");  // 0 = background, 1 = bitmap, 2 = icon
-_LIT8(KIniKeyIndex, "index");  // index of image in mbm
-_LIT8(KIniKeyMaskIndex, "maskindex");  // index of icon mask in mbm
-_LIT8(KIniKeyFile, "file");  // name of image file (not yet supported)
-_LIT8(KIniKeyPosX, "posx");  // display position X
-_LIT8(KIniKeyPosY, "posy");  // display position Y
-// _LIT8(KIniKeyTiming, "timing");  // time to display this image (NOTE RE-USE!)
-
-
-// User constructor
-CBmpAnimSettings* CBmpAnimSettings::NewL()
-    {
-    CBmpAnimSettings* self = new(ELeave) CBmpAnimSettings();
-    
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-    
-// C'tor, sets defaults
-CBmpAnimSettings::CBmpAnimSettings()
-    : iRunningTime(KRunningTime),
-      iLoopCount(KUndefined),
-      iSuspendTime(KSuspendTime),
-      iTiming(KTiming),
-      iPluginName(KPluginName),
-      iMbmFileName(KMbmFileName),
-      iMbmFileNameL(KMbmFileNameL),
-      iLights(KUndefined),
-      iUseLandscape(0),
-      iScaleBmps(0)
-    {
-    }
-
-
-// Two-phase constructor
-void CBmpAnimSettings::ConstructL()
-    {
-    // Try to open the settings file
-    if (OpenSettings() == KErrNone)
-        {
-        LoadSettingsL();
-        }
-    }
-
-    
-// D'tor
-CBmpAnimSettings::~CBmpAnimSettings()
-    {
-    delete iIniData;
-    }
-
-
-// --- Access functions ---
-    
-    
-// Loads (common) settings from the settings file
-TBool CBmpAnimSettings::LoadSettingsL()
-    {
-    // Sanity check
-    if (!iIniData)
-        {
-        return EFalse;
-        }
-
-    // Running time (never mind the section)
-    if (!(iIniData->FindVar(KIniKeyRunningTime, iRunningTime)))
-        {
-        // Running time not found - try loop count
-        if (!(iIniData->FindVar(KIniKeyLoopCount, iLoopCount)))
-            {
-            // That's not there either - use default running time
-            iRunningTime = KRunningTime;
-            }
-        else
-            {
-            // Loop count found - running time is undefined
-            iRunningTime = KUndefined;
-            }
-        }
-
-    // Suspend time
-    if (!(iIniData->FindVar(KIniKeySuspendTime, iSuspendTime)))
-        {
-        iSuspendTime = KSuspendTime;  // TODO: KUndefined
-        }
-
-    // Default timing (need to use section as well)
-    if (!(iIniData->FindVar(
-              KIniSectionInfo,
-              KIniKeyTiming,
-              iTiming)))
-        {
-        iTiming = KTiming;
-        }
-
-    // Lights time
-    if (!(iIniData->FindVar(KIniKeyLights, iLights)))
-        {
-        iLights = KUndefined;
-        }
-
-    // Use landscape
-    if (!(iIniData->FindVar(KIniKeyUseLandscape, iUseLandscape)))
-        {
-        iUseLandscape = 0;
-        }
-
-    // Scale bmps
-    if (!(iIniData->FindVar(KIniKeyScaleBmps, iScaleBmps)))
-        {
-        iScaleBmps = 0;
-        }
-
-    // Plugin name
-    iPluginName = KNullDesC;
-    if ((!(iIniData->FindVar(KIniKeyName, iPluginName))) ||
-        (iPluginName.Length() <= 0))
-        {
-        // Not found, or empty setting - use default
-        iPluginName = KPluginName;
-        }
-
-    // Load BMP file names
-    LoadBitmapFileName();
-    LoadBitmapFileName(ETrue);
-    
-    BMALOGGER_WRITEF(_L("BMA: Detected settings:"));
-    BMALOGGER_WRITEF(_L(" Name: %S"), &iPluginName);
-    BMALOGGER_WRITEF(_L(" Run for: %d"), RunningTime());
-    BMALOGGER_WRITEF(_L(" Loops: %d"), LoopCount());
-    BMALOGGER_WRITEF(_L(" Suspend: %d"), SuspendTime());
-    BMALOGGER_WRITEF(_L(" Timing: %d"), Timing());
-    BMALOGGER_WRITEF(_L(" Lights: %d"), Lights());
-    BMALOGGER_WRITEF(_L(" Bitmap file: %S"), &iMbmFileName);
-    BMALOGGER_WRITEF(_L(" Lanscape bitmap file: %S"), &iMbmFileNameL);
-    BMALOGGER_WRITEF(_L(" Use landscape: %d"), UseLandscape());
-    BMALOGGER_WRITEF(_L(" Scale bmps: %d"), ScaleBmps());
-    BMALOGGER_WRITEF(_L("BMA: End settings"));
-
-    return ETrue;
-    }
-
-
-// Saves (common) settings
-TBool CBmpAnimSettings::SaveSettingsL()
-    {
-    // Sanity check
-    if (!iIniData)
-        {
-        return EFalse;
-        }
-
-    // Write lights
-    if (iIniData->WriteVarL(
-            KIniSectionInfo, KIniKeyLights, iLights) == KErrNone)
-        {
-        iIniData->CommitL();
-        }
-
-    return ETrue;
-    }
-    
-// --- private ---
-
-    
-// Opens the settings file (initialises the settings reader)
-TInt CBmpAnimSettings::OpenSettings()
-    {
-    // Locate the dll path
-    TFileName dllName;
-//    Dll::FileName(dllName);
-    dllName.Append(_L("\\resource\\plugins\\"));
-
-    // Combine the dll path with the settings file name
-    TParse p;
-    p.SetNoWild(KIniFile, &dllName, NULL);
-
-    BMALOGGER_WRITEF(_L("Searching INI: %S"), &(p.FullName()));
-
-    // Try to open the INI file from plugin directory
-    TRAPD(err, iIniData = CBmpAnimIniData::NewL(p.FullName()));
-
-    if (err != KErrNone)
-        {
-        BMALOGGER_WRITE("INI not in plugin dir, trying \\system\\data");
-        // Try \system\data instead
-        TRAP(err, iIniData = CBmpAnimIniData::NewL(KIniFile));
-        }
-    
-    if (err != KErrNone)
-        {
-        // Make sure the settings are not attempted to be used
-        delete iIniData;
-        iIniData = NULL;
-        BMALOGGER_WRITE("INI not found");
-        }
-    else
-        {
-        BMALOGGER_WRITE("INI found");
-        }
-
-    return err;
-    }
-
-
-// Gets the bitmap file name from settings, or uses default
-void CBmpAnimSettings::LoadBitmapFileName(TBool aLandscape)
-    {
-    // Get the DLL path name. The path is used, if only a file name
-    // is specified.
-    TFileName dllName;
-    Dll::FileName(dllName);
-    
-    // Get whatever's in the settings
-	TFileName fileName;
-    TBool res = ETrue;
-    if (aLandscape)
-        {
-        res = iIniData->FindVar(KIniKeyMbmFileL, fileName);
-        }
-    else
-        {
-        res = iIniData->FindVar(KIniKeyMbmFile, fileName);
-        }
-    
-    if (!res)
-        {
-        // Not found - use the default name with the plugin directory
-        // there's really no need to do anything here (I think)
-        fileName = (_L("\\resource\\plugins\\"));
-        }
-
-    // The combination order should be:
-    // 1. use whatever was defined in the settings (part or full path)
-    // 2. use the default name part
-    // 3. use the DLL path, if no path parts have yet been defined
-    TParse p;
-    if (p.SetNoWild(fileName,
-                    aLandscape ? &KMbmFileNameL : &KMbmFileName,
-                    &dllName) == KErrNone)
-        {
-        if (aLandscape)
-            {
-            iMbmFileNameL = p.FullName();
-            }
-        else
-            {
-            iMbmFileName = p.FullName();
-            }
-        }
-    }
-
-//  End of File