diff -r f9f9f96b1873 -r a3e98f9c292b dependencies/swi/sisregistrylog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dependencies/swi/sisregistrylog.h Fri Mar 26 04:17:01 2010 +0530 @@ -0,0 +1,214 @@ +/* +* Copyright (c) 2007-2009 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 "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: +* The access to a specific functionality depends on the client capabilities +* and may be restricted. +* +*/ + + +/** + @file + @publishedPartner + @released +*/ + +#ifndef __SISREGISTRYLOGGING_H__ +#define __SISREGISTRYLOGGING_H__ + +#include +#include +#include + +class RReadStream; +class RWriteStream; +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK +namespace Usif + { + class RSoftwareComponentRegistry; + } +#endif + + +namespace Swi +{ +class CSisRegistryObject; + +enum TSwiLogTypes + { + ESwiLogInstall =0, + ESwiLogUnInstall, + ESwiLogUpgrade, + ESwiLogRestore + }; + +namespace +{ + const TInt KLogFileMajorVersion = 4; + const TInt KLogFileMinorVersion = 0; +} + +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK +namespace ScrHelperUtil + { + HBufC8* GetLogInfoLC(const Usif::RSoftwareComponentRegistry& aScrSession, TInt aMaxLogEntries); + } +#endif + +class CLogEntry : public CBase +{ +#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK +friend HBufC8* ScrHelperUtil::GetLogInfoLC(const Usif::RSoftwareComponentRegistry& aScrSession, TInt aMaxLogEntries); +#endif +public: + static CLogEntry* NewL(const CSisRegistryObject& aObject,TSwiLogTypes InstallInfo); + static CLogEntry* NewLC(const CSisRegistryObject& aObject,TSwiLogTypes InstallInfo); + + /** + * Constructs a entry from a given existing stream. + */ + static CLogEntry* NewL(RReadStream& aStream); + static CLogEntry* NewLC(RReadStream& aStream); + + /** + * Default Constructor + */ + CLogEntry(){}; + + /** + * Write the object to a stream + * + * @param aStream The stream to write to + */ + void ExternalizeL(RWriteStream& aStream) const; + + /** + * Read the object from a stream + * + * @param aStream The stream to read from. + */ + void InternalizeL(RReadStream& aStream) ; + + /** + * Destructor + */ + ~CLogEntry(); + + void ConstructL(RReadStream& aStream); + void ConstructL(const CSisRegistryObject& aObject,TSwiLogTypes InstallInfo); + + /** + * Returns the Time + * + * @return HBufC8 descriptor containing text. + */ + IMPORT_C const TTime GetTime() const; + + /** + * The package name. + * @return the name of this package as reference to TDesC. + */ + IMPORT_C const TDesC& GetPkgName() const; + + /** + * The Major Version + * @return he major version number of the package + */ + IMPORT_C TInt32 GetMajorVersion() const; + + /** + * The Minor Version. + * @return the minor version number of the package. + */ + IMPORT_C TInt32 GetMinorVersion() const; + + /** + * The Build Version. + * @return the Build Version of the package. + */ + IMPORT_C TInt32 GetBuildVersion() const; + + /** + * The UID. + * @return the Uid of the package. + */ + IMPORT_C const TUid GetUid() const; + + /** + * Returns the install type for this package + * @return The install type + */ + IMPORT_C TSwiLogTypes GetInstallType() const; + +private: + + HBufC* iPackageName ; + TInt32 iMajorVersion; + TInt32 iMinorVersion; + TInt32 iBuildVersion; + TSwiLogTypes iInstallType ; + TTime iEvent ; + TUid iUid; +}; + +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +/** + * @internalComponent + * @released + */ +class CLogFileVersion : public CBase + { +public: + CLogFileVersion() + { + iLogFileMajorVersion = KLogFileMajorVersion; + iLogFileMinorVersion = KLogFileMinorVersion; + } + + static CLogFileVersion* NewL(RReadStream& aStream); + static CLogFileVersion* NewLC(RReadStream& aStream); + + /** + * Write the object to a stream + * + * @param aStream The stream to write to + */ + void ExternalizeL(RWriteStream& aStream) const; + + /** + * Read the object from a stream + * + * @param aStream The stream to read from. + */ + void InternalizeL(RReadStream& aStream) ; + + void ConstructL(); + void ConstructL(RReadStream& aStream); + + /** + * Copy Constructor + */ + CLogFileVersion(const CLogFileVersion& aObject1); + +private: + TUint8 iLogFileMajorVersion; + TUint8 iLogFileMinorVersion; + + }; +#endif //SYMBIAN_ENABLE_SPLIT_HEADERS +} //namespace + +#endif + +