installationservices/swi/inc/swi/nativecomponentinfo.h
branchRCL_3
changeset 65 7333d7932ef7
parent 0 ba25891c3a9e
child 66 8b7f4e561641
--- a/installationservices/swi/inc/swi/nativecomponentinfo.h	Thu Aug 19 10:02:49 2010 +0300
+++ b/installationservices/swi/inc/swi/nativecomponentinfo.h	Tue Aug 31 15:21:33 2010 +0300
@@ -38,6 +38,28 @@
 	class CNativeComponentInfo : public CBase
 		{
 	public:
+	    
+	    class CNativeApplicationInfo : public CBase
+	         {
+	     public:
+	         IMPORT_C static CNativeApplicationInfo* NewLC(const TUid& aAppUid, const TDesC& aName, const TDesC& aGroupName, const TDesC& aIconFileName);
+	         static CNativeApplicationInfo* NewL(RReadStream& aStream);
+	         void ExternalizeL(RWriteStream& aStream) const;
+	                             
+	         IMPORT_C const TUid& AppUid() const;
+	         IMPORT_C const TDesC& Name() const;
+	         IMPORT_C const TDesC& GroupName() const;
+	         IMPORT_C const TDesC& IconFileName() const;            	         
+	         IMPORT_C virtual ~CNativeApplicationInfo();	            
+	     private:                  
+	         CNativeApplicationInfo();
+	                 
+	         TUid iAppUid; // Application UID
+	         HBufC* iName; // Name of the application
+	         HBufC* iGroupName; // Group folder name where the application will be present
+	         HBufC* iIconFileName; // Full path of the icon file
+	         };
+	    
 		/**
 			Creates a new instance of the CNativeComponentInfo class.
 			@leave System wide error code
@@ -80,9 +102,17 @@
 		Usif::TAuthenticity iAuthenticity;				///< The authenticity of the component
 		TCapabilitySet iUserGrantableCaps;				///< User grantable capabilities required be the component
 		TInt iMaxInstalledSize;							///< The maximum size of the component after installation
-		TBool iHasExe;									///<Indicates Whether the component has an exe or not						
+		TBool iHasExe;									///<Indicates Whether the component has an exe or not
+		TBool iIsDriveSelectionRequired;                ///< Indicates Whether drive selection is required or not.
+		RCPointerArray<CNativeApplicationInfo> iApplications; ///< The array of application info of the component being queried
 		RCPointerArray<CNativeComponentInfo> iChildren;	///< The children component info, incase of embedded packages.	
 	
+		enum
+		    {
+		    // An arbitrary limit for the length of a single descriptor, for example aComponentName, aVersion or aVendor.
+		    KMaxDescriptorLength = 256,
+		    };
+		
 		};	
 	} // nameSpace Swi
 #endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK