diff -r 12af337248b1 -r bd7edf625bdd clock2/clockui/uilayer/inc/clockdocument.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clock2/clockui/uilayer/inc/clockdocument.h Wed Sep 01 12:32:31 2010 +0100 @@ -0,0 +1,196 @@ +/* +* Copyright (c) 2008 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: This is the header file for the CClockDocument class. +* +*/ + +#ifndef __CLOCK_DOCUMENT_H__ +#define __CLOCK_DOCUMENT_H__ + +// System includes +#include +#include +#include +#include + +// User includes +#include "clockworldview.h" + +// Forward declarations +class CClkUiAlarmModel; +class CTzLocalizer; + +// Constants +const TInt KHomeCityLength( 64 ); + +// Class declaration +/** +* @class CClockDocument +* @brief The CAknDocument inheriting class. +* @exe clock.exe +*/ +class CClockDocument : public CAknDocument + { + public: // Constructor and destructor + + /** + * @brief Performs the first phase of 2-phase construction. + * @param aApp CEikApplication& + * @return CClockDocument* Pointer to the object of the document + */ + static CClockDocument* NewL( CEikApplication& aApp ); + + /** + * @brief Destructor. + */ + ~CClockDocument(); + + public: // New functions + + /** + * @brief Reads the data from the document file. + */ + void ReadDataL(); + + /** + * @brief Stores the data to the document file. + */ + void StoreDataL(); + + /** + * @brief Returns the alarm model. + * @return CClkUiAlarmModel* Pointer to the alarm model. + */ + CClkUiAlarmModel* AlarmModel(); + + /** + * @brief Returns the previous alarm time. + * @return TTime The previous alarm time. + */ + //TTime GetPrevAlarmTime(); + + /** + * @brief Sets the new alarm time value as the previous alarm time. + * @param aPrevAlarmTime The new alarm time. + */ + //void SetPrevAlarmTime( TTime aPrevAlarmTime ); + + /** + * @brief Retrieves list of cities shown in world clock view. + * @return CArrayPakFlat< TCityInfo >* Pointer to the list of items. + */ + CArrayPakFlat< TCityInfo >* GetWorldClockList(); + + /** + * @brief Returns the current home city. + * @return TBuf A buffer containing the current home city. + */ + const TBuf< KHomeCityLength > GetHomeCity(); + + /** + * @brief Sets and updates the home city. + * @param aCityInfo The new home city information. + */ + void SetHomeCityL( TCityInfo& aCityInfo ); + + /** + * @brief Updates the home city. + */ + void UpdateHomeCityL(); + + /** + * @brief Gets wether homecity item is added to the world clock view or not. + * @return TBool ETrue if homecity item is added to the list else EFalse. + */ + inline TBool IsHomeCityItemAdded(); + + /** + * @brief + * @param aAddHomeCityItem + */ + inline void SetHomeCityItemAdded( TBool aAddHomeCityItem ); + + private: // New functions + + /** + * @brief C++ default Constructor. + * @param aApp CEikApplication& + */ + CClockDocument( CEikApplication& aApp ); + + /** + * @brief Performs the second phase of 2-phase construction. May leave. + */ + void ConstructL(); + + /** + * @brief Reads city data from stream. + * @param aStream The stream from which data has to be read. + * @param aCityInfo The city info read from the stream. + * @param aTzHandle Handle to the tzserver. + */ + void ReadCityL( RFileReadStream& aStream, TCityInfo& aCityInfo, RTz& aTzHandle ); + + private: // Functions from base classes. + + /** + * @brief From CEikCocument. Creates application UI class. + */ + CEikAppUi* CreateAppUiL(); + + private: // Data + + /** + * @var iAlarmModel + * @brief The alarm model object. + */ + CClkUiAlarmModel* iAlarmModel; + + /** + * @var iPrevAlarmTime + * @brief Holds the previous value of alarm time or 09:00 if no alarms are set. + */ + TInt64 iPrevAlarmTime; + + /** + * @var iWorldClockList + * @brief Contains the list of cities added in world clock view. + */ + CArrayPakFlat< TCityInfo >* iWorldClockList; + + /** + * @var iTzLocalizer + * @brief Pointer to CTzLocalizer class. + */ + CTzLocalizer* iTzLocalizer; + + /** + * @var iHomeCity + * @brief Holds the current home city. + */ + TBuf< KHomeCityLength > iHomeCity; + + /** + * @var iHomeCityItemAdded + * @brief Is ETrue if the homecity item is added to world clock view + * else is EFalse. + */ + TBool iHomeCityItemAdded; + }; + +#include "clockdocument.inl" + +#endif // __CLOCK_DOCUMENT_H__ + +// End of file