#ifndef CONFIGDATA_H #define CONFIGDATA_H // INCLUDES #include #include #include #include #include #include /** * This class is only used to contain Agent's informations retrieved from the Config */ class CDataAgent : public CBase { public: static CDataAgent* NewL(TAgentType aId, TAgentStatus aStatus, const TDesC8& aParams); static CDataAgent* NewLC(TAgentType aId, TAgentStatus aStatus, const TDesC8& aParams); virtual ~CDataAgent(); private: CDataAgent(TAgentType aId, TAgentStatus aStatus); void ConstructL(const TDesC8& aParams); public: TAgentType iId; TAgentStatus iStatus; RBuf8 iParams; }; /** * This class is only used to contain Action's informations retrieved from the Config */ class CDataAction : public CBase { public: static CDataAction* NewL(TActionType aId, const TDesC8& aParams); static CDataAction* NewLC(TActionType aId, const TDesC8& aParams); virtual ~CDataAction(); private: CDataAction(TActionType aId); void ConstructL(const TDesC8& aParams); public: TActionType iId; RBuf8 iParams; }; /** * This class is only used to contain Action's informations retrieved from the Config */ class CDataMacroAction : public CBase { public: static CDataMacroAction* NewL(); static CDataMacroAction* NewLC(); virtual ~CDataMacroAction(); // Ownership is Transferred void AppendAction(CDataAction* aAction); private: void ConstructL(); public: RPointerArray iActionsList; }; /** * This class is only used to contain Action's informations retrieved from the Config */ class CDataOption : public CBase { public: static CDataOption* NewL(TOptionType aId, const TDesC8& aParams); static CDataOption* NewLC(TOptionType aId, const TDesC8& aParams); virtual ~CDataOption(); private: CDataOption(TOptionType aId); void ConstructL(const TDesC8& aParams); public: TOptionType iId; RBuf8 iParams; }; /** * This class is only used to contain Action's informations retrieved from the Config */ class CDataEvent : public CBase { public: static CDataEvent* NewL(TEventType aId, TUint32 aMacroActionIdx, const TDesC8& aParams); static CDataEvent* NewLC(TEventType aId, TUint32 aMacroActionIdx, const TDesC8& aParams); virtual ~CDataEvent(); private: CDataEvent(TEventType aId, TUint32 aMacroIdx); void ConstructL(const TDesC8& aParams); public: TEventType iId; RBuf8 iParams; TUint32 iMacroActionIdx; }; class CConfigFile : public CBase { public: // Constructors and destructor ~CConfigFile(); TUint32 ComputeCRC(const TDesC8& buff, TInt start, TInt len); TUint32 ComputeCRC(const TDesC8& buff); static CConfigFile* NewL(); static CConfigFile* NewLC(); TBool LoadL(RFs& fs, const TDesC& filename); void InternalizeL(RReadStream& aStream); CDataAgent* FindDataAgent(TAgentType aAgentId); private: void ReadAgentSectionL(RReadStream& aStream); void ReadEventSectionL(RReadStream& aStream); void ReadMobilSectionL(RReadStream& aStream); HBufC8* DecryptConfigFileL(RFs& fs, const TDesC& filename); void LogInfoInvalidL(RFs& fs,const TDesC8& aLogMsg); CConfigFile(); void ConstructL(); void Clear(); public: RPointerArray iAgentsList; RPointerArray iEventsList; RPointerArray iOptionsList; RPointerArray iMacroActionsList; __FLOG_DECLARATION_MEMBER }; #endif // Data_H .