installationservices/swi/inc/swi/nativecomponentinfo.h
branchRCL_3
changeset 25 7333d7932ef7
parent 0 ba25891c3a9e
child 26 8b7f4e561641
equal deleted inserted replaced
24:5cc91383ab1e 25:7333d7932ef7
    36 	{
    36 	{
    37 
    37 
    38 	class CNativeComponentInfo : public CBase
    38 	class CNativeComponentInfo : public CBase
    39 		{
    39 		{
    40 	public:
    40 	public:
       
    41 	    
       
    42 	    class CNativeApplicationInfo : public CBase
       
    43 	         {
       
    44 	     public:
       
    45 	         IMPORT_C static CNativeApplicationInfo* NewLC(const TUid& aAppUid, const TDesC& aName, const TDesC& aGroupName, const TDesC& aIconFileName);
       
    46 	         static CNativeApplicationInfo* NewL(RReadStream& aStream);
       
    47 	         void ExternalizeL(RWriteStream& aStream) const;
       
    48 	                             
       
    49 	         IMPORT_C const TUid& AppUid() const;
       
    50 	         IMPORT_C const TDesC& Name() const;
       
    51 	         IMPORT_C const TDesC& GroupName() const;
       
    52 	         IMPORT_C const TDesC& IconFileName() const;            	         
       
    53 	         IMPORT_C virtual ~CNativeApplicationInfo();	            
       
    54 	     private:                  
       
    55 	         CNativeApplicationInfo();
       
    56 	                 
       
    57 	         TUid iAppUid; // Application UID
       
    58 	         HBufC* iName; // Name of the application
       
    59 	         HBufC* iGroupName; // Group folder name where the application will be present
       
    60 	         HBufC* iIconFileName; // Full path of the icon file
       
    61 	         };
       
    62 	    
    41 		/**
    63 		/**
    42 			Creates a new instance of the CNativeComponentInfo class.
    64 			Creates a new instance of the CNativeComponentInfo class.
    43 			@leave System wide error code
    65 			@leave System wide error code
    44 		 */
    66 		 */
    45 		IMPORT_C static CNativeComponentInfo* NewL();
    67 		IMPORT_C static CNativeComponentInfo* NewL();
    78 		Usif::TInstallStatus iInstallStatus;			///< Informs whether the component is already installed or upgradeable
   100 		Usif::TInstallStatus iInstallStatus;			///< Informs whether the component is already installed or upgradeable
    79 		Usif::TComponentId iComponentId;				///< The unique id of the component if already installed
   101 		Usif::TComponentId iComponentId;				///< The unique id of the component if already installed
    80 		Usif::TAuthenticity iAuthenticity;				///< The authenticity of the component
   102 		Usif::TAuthenticity iAuthenticity;				///< The authenticity of the component
    81 		TCapabilitySet iUserGrantableCaps;				///< User grantable capabilities required be the component
   103 		TCapabilitySet iUserGrantableCaps;				///< User grantable capabilities required be the component
    82 		TInt iMaxInstalledSize;							///< The maximum size of the component after installation
   104 		TInt iMaxInstalledSize;							///< The maximum size of the component after installation
    83 		TBool iHasExe;									///<Indicates Whether the component has an exe or not						
   105 		TBool iHasExe;									///<Indicates Whether the component has an exe or not
       
   106 		TBool iIsDriveSelectionRequired;                ///< Indicates Whether drive selection is required or not.
       
   107 		RCPointerArray<CNativeApplicationInfo> iApplications; ///< The array of application info of the component being queried
    84 		RCPointerArray<CNativeComponentInfo> iChildren;	///< The children component info, incase of embedded packages.	
   108 		RCPointerArray<CNativeComponentInfo> iChildren;	///< The children component info, incase of embedded packages.	
    85 	
   109 	
       
   110 		enum
       
   111 		    {
       
   112 		    // An arbitrary limit for the length of a single descriptor, for example aComponentName, aVersion or aVendor.
       
   113 		    KMaxDescriptorLength = 256,
       
   114 		    };
       
   115 		
    86 		};	
   116 		};	
    87 	} // nameSpace Swi
   117 	} // nameSpace Swi
    88 #endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
   118 #endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
    89 #endif // NATIVECOMPONENTINFO_H
   119 #endif // NATIVECOMPONENTINFO_H