installationservices/swcomponentregistry/inc/screntries_internal.h
changeset 24 84a16765cd86
child 55 ac7f90a6ff4c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swcomponentregistry/inc/screntries_internal.h	Fri Mar 19 09:33:35 2010 +0200
@@ -0,0 +1,210 @@
+/*
+* Copyright (c) 2008-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: 
+* Declares entry classes for Software Components Registry interface.
+*
+*/
+
+
+/**
+ @file
+ @internalComponent
+ @released
+*/
+
+#ifndef SCRENTRIES_INTERNAL_H
+#define SCRENTRIES_INTERNAL_H
+
+#include <e32base.h>
+#include <s32strm.h>
+#include <f32file.h> 
+#include <usif/usifcommon.h>
+#include <usif/scr/screntries.h>
+
+//class Usif::CLocalizableCommonData;
+//class Usif::CScrLogEntry;
+
+namespace Usif
+	{
+		class CLocalizableCommonData;
+		NONSHARABLE_CLASS(CLocalizedSoftwareTypeName) : public CLocalizableCommonData
+		/**
+			This class contains localized software type names.
+			Software type names are localizable names and transferred to the SCR 
+			with the objects of this class.
+			
+			@internalTechnology
+		 */
+			{
+		public:	
+			/**
+				Creates a localized software type name object.
+				@param aName The name of the software type.
+				@param aLocale The language code of the object's locale.
+				@return A pointer to the newly allocated localized software type name object, if creation is successful.
+			 */
+			IMPORT_C static CLocalizedSoftwareTypeName* NewL(const TDesC& aName, TLanguage aLocale);
+			
+			/**
+				Creates a localized software type name object.
+				@param aName The name of the software type.
+				@param aLocale The language code of the object's locale.
+				@return A pointer to the newly allocated localized software type name object, if creation is successful.
+						The pointer is also put onto the cleanup stack.
+			 */
+			IMPORT_C static CLocalizedSoftwareTypeName* NewLC(const TDesC& aName, TLanguage aLocale);
+			
+			/**
+				Creates a localized software type name object from a stream.
+				@param aStream The stream to read the localized software type name object from.
+				@return A pointer to the newly allocated localized software type name object, if creation is successful.
+				@internalComponent
+			 */
+			IMPORT_C static CLocalizedSoftwareTypeName* NewL(RReadStream& aStream);
+			
+			~CLocalizedSoftwareTypeName();
+			
+			/**
+				Externalises a localized software type name object to a write stream.
+				@param aStream The stream to which the object is externalised.
+				@internalComponent
+			 */
+			IMPORT_C void ExternalizeL(RWriteStream& aStream) const;	
+			
+			/** @return The localized software type name. */
+			IMPORT_C const TDesC& NameL() const;
+			
+		private:
+			CLocalizedSoftwareTypeName();
+			CLocalizedSoftwareTypeName(TLanguage aLocale);
+			void ConstructL(const TDesC& aName);
+			void InternalizeL(RReadStream& aStream);
+			
+		private:
+			HBufC* iName;	   ///< The localized software type name.
+			};
+	
+	NONSHARABLE_CLASS (CScrLogEntry) : public CBase
+	/**
+		Class that represents a software component log record generated by the SCR.
+	 */ 
+		{
+		friend class CScrRequestImpl;
+	public:
+		/**
+			Creates a log entry object.
+			@param aComponentName The name of the component.
+			@param aUniqueSwTypeName The non-localized, unique software type name, such as @see Usif::KSoftwareTypeNative and @see Usif::KSoftwareTypeJava.
+			@param aGlobalId The global Id of the component.
+			@param aVersion The version of the component.
+			@param aCompOpType The type of the component operation. @see Usif::TScrComponentOperationType
+			@return A pointer to the newly allocated log entry object, if creation is successful.
+			@internalComponent
+		 */
+		IMPORT_C static CScrLogEntry* NewL(const TDesC& aComponentName, const TDesC& aUniqueSwTypeName, const TDesC& aGlobalId, const TDesC& aVersion, const TScrComponentOperationType aCompOpType);
+		
+		/**
+			Creates a log entry object.
+			@param aComponentName The name of the component.
+			@param aUniqueSwTypeName The non-localized, unique software type name, such as @see Usif::KSoftwareTypeNative and @see Usif::KSoftwareTypeJava.
+			@param aGlobalId The global Id of the component.
+			@param aVersion The version of the component.
+			@param aCompOpType The type of the component operation. @see Usif::TScrComponentOperationType
+			@return A pointer to the newly allocated log entry object, if creation is successful.
+					The pointer is also put onto the cleanup stack.
+			@internalComponent		
+		 */
+		IMPORT_C static CScrLogEntry* NewLC(const TDesC& aComponentName, const TDesC& aUniqueSwTypeName, const TDesC& aGlobalId, const TDesC& aVersion, const TScrComponentOperationType aCompOpType);
+
+	 	/**
+	 		Creates a log entry object from a stream.
+	 		@param aStream The stream to read the log entry object from.
+	 		@return A pointer to the newly allocated log entry object, if creation is successful.
+	 				The pointer is also put onto the cleanup stack.
+	 		@internalComponent
+	 	*/
+		IMPORT_C static CScrLogEntry* NewLC(RReadStream& aStream);
+		
+		~CScrLogEntry();
+		
+	 	/**
+		 	Write the object to a stream 
+		 
+		 	@param aStream The stream to write to
+		 	@internalComponent
+		 */
+		IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
+		 
+		/**
+		 	Read the object from a stream
+		 
+		 	@param aStream The stream to read from.
+		 	@internalComponent
+		 */
+		IMPORT_C void InternalizeL(RReadStream& aStream) ;
+	    
+	    /**
+			@return The name of the component for which the log was generated.
+		 */
+		IMPORT_C const TDesC& ComponentName() const; 
+		
+		/**
+			@return The non-localized, unique software type name, such as @see Usif::KSoftwareTypeNative and @see Usif::KSoftwareTypeJava.
+		 */
+		IMPORT_C const TDesC& SoftwareTypeName() const;
+		
+		/**
+			The UID.
+		 	@return The global ID of the component.
+		 */
+		IMPORT_C const TDesC& GlobalId() const; 
+				
+		/**
+			@return The version of the component.
+		 */
+		IMPORT_C const TDesC& ComponentVersion() const; 
+	    
+		/**
+			@return The time when the operation occured.
+		 */
+		IMPORT_C const TTime OperationTime() const; 
+			    
+	    /**
+		    @return The type of the component operation for the log record.
+		 */
+		IMPORT_C TScrComponentOperationType OperationType() const;
+		
+		/**
+			@return The component id of the log record.
+			@internalComponent
+		 */
+		IMPORT_C TComponentId ComponentId() const;
+	
+	private:
+		CScrLogEntry();
+		void ConstructL(const TDesC& aComponentName, const TDesC& aUniqueSwTypeName, const TDesC& aGlobalId, const TDesC& aVersion, const TScrComponentOperationType aCompOpType);
+		
+	private:	
+	    HBufC* iComponentName ;
+	    HBufC* iSwTypeName;
+		HBufC* iVersion;
+		TScrComponentOperationType iOpType ; 
+		TTime  iRecordTime ;   
+		HBufC* iGlobalId;
+		TComponentId iComponentId; 
+		};
+	
+	} // End of namespace Usif
+
+#endif // SCRENTRIES_H