--- a/epoc32/include/mw/cdirectorylocalizer.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/cdirectorylocalizer.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,201 @@
-cdirectorylocalizer.h
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Directory Localizer interface class
+*
+*/
+
+
+
+#ifndef C_CDIRECTORYLOCALIZER_H
+#define C_CDIRECTORYLOCALIZER_H
+
+#include <e32def.h>
+
+class TResourceReader;
+
+
+/**
+ * Directory Localizer interface class.
+ *
+ * @lib directorylocalizer.lib
+ * @since S60 v3.2
+ */
+NONSHARABLE_CLASS(CDirectoryLocalizer) : public CBase
+ {
+public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * Construct a CDirectoryLocalizer and initialize it with platform specific
+ * default localization data.
+ *
+ * @return apointer to the created instance of CDirectoryLocalizer.
+ */
+ IMPORT_C static CDirectoryLocalizer* NewL();
+
+ /**
+ * Two-phased constructor.
+ * Construct a CDirectoryLocalizer and initialize it from resource pointed
+ * by aReader.
+ *
+ * @param aReader Reference to an initialized resource reader instance.
+ * @return apointer to the created instance of CDirectoryLocalizer.
+ */
+ IMPORT_C static CDirectoryLocalizer* NewL( TResourceReader& aReader );
+
+ /**
+ * Two-phased constructor.
+ * Construct a CDirectoryLocalizer and initialize it from a resource ID.
+ *
+ * @param aResourceId Resource identifier to DIRECTORYLOCALIZER resource.
+ * @return apointer to the created instance of CDirectoryLocalizer.
+ */
+ IMPORT_C static CDirectoryLocalizer* NewL( TInt aResourceId );
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CDirectoryLocalizer();
+
+public: // New methods
+
+ /**
+ * Adds entries to the localizer from resource pointed by aReader.
+ *
+ * @param aReader Reference to an initialized resouce reader instance.
+ * @return None.
+ */
+ IMPORT_C void AddFromResourceL( TResourceReader& aReader );
+
+ /**
+ * Adds entries to the localizer from resource pointed by aResourceId.
+ *
+ * @param aResourceId Resource identifier to DIRECTORYLOCALIZER resource.
+ * @return None.
+ */
+ IMPORT_C void AddFromResourceL( TInt aResourceId );
+
+ /**
+ * This method is used to set the absolute path to be localized.
+ * For example "c:\\nokia\\images\\pictures". Take care that the path
+ * is given with or without the trailing backslash depending on
+ * how the paths are defined in the resource. localizer can utilize
+ * pathinfo to retrieve predefined folder paths.
+ *
+ * @param aFullPath Full path name.
+ * @return None.
+ *
+ * @code
+ * #include <PathInfo.h>
+ *
+ * // Get the the full path of the contacts folder in the memory card.
+ * TFileName path = PathInfo::GetPath( PathInfo::EImagesPath );
+ *
+ * // 'path' contains now the images path to be appended to a root path.
+ *
+ * CDirectoryLocalizer loc = CDirectoryLocalizer::NewL();
+ * loc->SetFullPath ( path );
+ * @endcode
+ *
+ * @see PathInfo
+ */
+ IMPORT_C void SetFullPath( const TDesC& aFullPath );
+
+ /**
+ * Tells if the last given path is recognized as a localized directory.
+ *
+ * @return ETrue if last given path is localized and EFalse if not.
+ */
+ IMPORT_C TBool IsLocalized() const;
+
+ /**
+ * Returns a reference to a TDesC that contains the last given path's
+ * localized name. If the path is not a localized directory, then
+ * a pointer to KNullDesc is returned.
+ *
+ * @return the last given path's localized name.
+ */
+ IMPORT_C const TDesC& LocalizedName() const;
+
+ /**
+ * Returns a reference to a TDesC that contains the last given path's
+ * extra data. If the path is not a localized directory or no extra
+ * data is defined, then a pointer to KNullDesc is returned.
+ *
+ * @return the last given path's extra data.
+ */
+ IMPORT_C const TDesC& ExtraData() const;
+
+ /**
+ * Returns the icon index of the last given path. If the path is not a
+ * localized directory KErrGeneral is returned.
+ *
+ * @return the icon index of the last given path.
+ *
+ * @code
+ * CDirectoryLocalizer loc = CDirectoryLocalizer::NewL();
+ * loc-> SetFullPath( aDir );
+ * if ( loc->Icon() != KErrGeneral )
+ * {
+ * //...
+ * }
+ * @endcode
+ */
+ IMPORT_C TInt Icon() const;
+
+protected:
+
+ /**
+ * C++ default constructor.
+ */
+ CDirectoryLocalizer();
+
+ /**
+ * Symbian 2nd phase constructor.
+ */
+ void ConstructL();
+
+private: // data
+
+ /**
+ * The index of the current entry.
+ */
+ TInt iCurrentEntry;
+
+ /**
+ * A pointer to the array for paths.
+ * Own.
+ */
+ CArrayPtrFlat<TDesC>* iPaths;
+
+ /**
+ * A pointer to the array for localised names.
+ * Own.
+ */
+ CArrayPtrFlat<TDesC>* iLocalizedNames;
+
+ /**
+ * A pointer to the array for extra data.
+ * Own.
+ */
+ CArrayPtrFlat<TDesC>* iExtraData;
+
+ /**
+ * The array for icon indices.
+ */
+ RArray<TInt> iIconIndices;
+
+ };
+
+#endif // C_CDIRECTORYLOCALIZER_H