diff -r 5b6f26637ad3 -r f4a778e096c2 logsui/EngineInc/CLogsEngine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/EngineInc/CLogsEngine.h Wed Sep 01 12:29:52 2010 +0100 @@ -0,0 +1,304 @@ +/* +* Copyright (c) 2002 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: +* Implements interface for Logs event +* +*/ + + +#ifndef __Logs_Engine_CLogsEngine_H__ +#define __Logs_Engine_CLogsEngine_H__ + +// INCLUDES +#include +#include +#include + +#include "MLogsObserver.h" +#include "MLogsCallObserver.h" +#include "TLogsEventStrings.h" +#include "LogsEng.hrh" +#include "CLogsClearNewMissed.h" +#include "MLogsClearNewMissed.h" + +// FORWARD DECLARATION + +// CLASS DECLARATION + +class MLogsModel; +class MLogsClearLog; +class MLogsStateHolder; +class MLogsReader; +//class TPreferredPbkStore; +class MLogsConfig; +class MLogsGetEvent; +class MLogsSharedData; +class MLogsSystemAgent; +class CCnvCharacterSetConverter; +class CLogsCntLinkChecker; + +/** + * Implements entry point class to LogsEngine.dll + */ +class CLogsEngine : public CBase, + public MLogsObserver, + public MLogsCallObserver + { + + public: + + /** + * Constructor. + * + * @return CLogsEngine object + */ + IMPORT_C static CLogsEngine* NewL(); + + /** + * Destructor. + */ + IMPORT_C virtual ~CLogsEngine(); + + private: + + /** + * C++ default constructor. + */ + CLogsEngine(); + + + /** + * Second phase of construction + */ + void ConstructL(); + + void DeleteClearNewMissedL(); + + + public: + + /** + * Model getter + * + * @param aModel model identificator + * @return pointer to model + */ + IMPORT_C MLogsModel* Model( TLogsModel aModel ) const; + + /** + * DB clearer getter + * + * @return pointer to db clearer object + */ + IMPORT_C MLogsClearLog* ClearLogsL(); + + /** + * Event writer getter + * + * @return pointer to event writer object + */ + IMPORT_C MLogsClearNewMissed* ClearNewMissedL(); + + /** + * DB event updater + * @param aStore preferred phonebook storage for searching contacts + * + * @return pointer to db event updater + */ + IMPORT_C MLogsReader* EventUpdaterL(); + + /** + * CntLinkChecker getter + * + * @return pointer to CntLink checker object + */ + IMPORT_C CLogsCntLinkChecker* CntLinkCheckerL(); + + /** + * DB configurator getter + * + * @return pointer to db configurator + */ + IMPORT_C MLogsConfig* ConfigL(); + + /** + * Getter for log event getter + * + * @return pointer to log event getter + */ + IMPORT_C MLogsGetEvent* GetEventL(); + + /** + * Shared data getter + * + * @return pointer to shared data object + */ + IMPORT_C MLogsSharedData* SharedDataL(); + + /** + * System agent getter + * + * @return pointer to system agent object + */ + IMPORT_C MLogsSystemAgent* SystemAgentL(); + + /** + * Deletes log event getter + */ + IMPORT_C void DeleteGetEvent(); + + /** + * Deletes log event updater + */ + IMPORT_C void DeleteEventUpdater(); + + /** + * Deletes CntLink checker + */ + IMPORT_C void DeleteCntLinkChecker(); + + /** + * Deletes sms event updater + */ + IMPORT_C void DeleteSMSEventUpdater(); + + /** + * Deletes system agent object + */ + IMPORT_C void DeleteSystemAgent(); + + /** + * Deletes log db configurator + */ + IMPORT_C void DeleteConfig(); + + /** + * Deletes log db clearer + */ + IMPORT_C void DeleteClearLog(); + + /** + * Model creator + * + * @param aModel model identificator + */ + IMPORT_C void CreateModelL( TLogsModel aModel ); + + /** + * Starts matching SMS events with the phonebook and updating + * @param aStore preferred phonebook storage for searching contacts + */ + IMPORT_C void StartSMSEventUpdaterL(); + + /** + * Shared Data creator + */ + // IMPORT_C void CreateSharedDataL(); + + /** + * Deletes all not-needed resources when switching the logs to + * background mode. + */ + IMPORT_C void FreeResourcesForBGModeL(); + + /** + * Converts 8-bit descriptor data to 16-bit format. + * @param aForeignText Text to be converted + * @param aConvertedText Text converted. model identificator + * + * @return KErrNone, if converted ok. Otherwise error code. + */ + IMPORT_C TInt ConvertToUnicode(const TDesC8& aForeignText, + TDes16& aConvertedText); + + /** + * Returns identification strings used by Log database + * + * @return strings used by Log database + */ + IMPORT_C TLogsEventStrings LogDbStrings(); + + /** + * Returns reference to CLogClient. + * + * @return pointer to CLogClient + */ + IMPORT_C CLogClient* CLogClientRef(); + + public: // from MLogsObserver + + void StateChangedL( MLogsStateHolder* aHolder ); + + public: // from MLogsCallObserver + + void CallStateChangedL( TInt aCallState ); + + private: // data + + /// Ref: + CLogClient* iLogClient; + + /// Own: + TLogsEventStrings iStrings; + + /// Own: file server session + RFs iFsSession; + + /// Own: main ( log ) model + MLogsModel* iMainModel; + + /// Own: recent received model + MLogsModel* iReceivedModel; + + /// Own: recent dialled model + MLogsModel* iDialledModel; + + /// Own: recent missed model + MLogsModel* iMissedModel; + + /// Own: clearing log db object + MLogsClearLog* iClearLogs; + + CLogsClearNewMissed* iClearNewMissed; + + /// Own: sms event updater + MLogsReader* iSMSUpdater; + + /// Own: event updater + MLogsReader* iEventUpdater; + + /// Own: CntLink checker + CLogsCntLinkChecker* iCntLinkChecker; + + /// Own: log db configuration + MLogsConfig* iConfig; + + /// Own: log get event + MLogsGetEvent* iGetEvent; + + /// Own: shared data + MLogsSharedData* iSharedData; + + /// Own: system agent + MLogsSystemAgent* iSystemAgent; + + /// Own: Unicode converter + CCnvCharacterSetConverter* iConverter; + }; + +#endif // __Logs_Engine_CLogsEngine_H__ + + + +// End of File