installationservices/swi/inc/swi/nativecomponentinfo.h
branchRCL_3
changeset 66 8b7f4e561641
parent 65 7333d7932ef7
equal deleted inserted replaced
65:7333d7932ef7 66:8b7f4e561641
    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 	    
       
    63 		/**
    41 		/**
    64 			Creates a new instance of the CNativeComponentInfo class.
    42 			Creates a new instance of the CNativeComponentInfo class.
    65 			@leave System wide error code
    43 			@leave System wide error code
    66 		 */
    44 		 */
    67 		IMPORT_C static CNativeComponentInfo* NewL();
    45 		IMPORT_C static CNativeComponentInfo* NewL();
   100 		Usif::TInstallStatus iInstallStatus;			///< Informs whether the component is already installed or upgradeable
    78 		Usif::TInstallStatus iInstallStatus;			///< Informs whether the component is already installed or upgradeable
   101 		Usif::TComponentId iComponentId;				///< The unique id of the component if already installed
    79 		Usif::TComponentId iComponentId;				///< The unique id of the component if already installed
   102 		Usif::TAuthenticity iAuthenticity;				///< The authenticity of the component
    80 		Usif::TAuthenticity iAuthenticity;				///< The authenticity of the component
   103 		TCapabilitySet iUserGrantableCaps;				///< User grantable capabilities required be the component
    81 		TCapabilitySet iUserGrantableCaps;				///< User grantable capabilities required be the component
   104 		TInt iMaxInstalledSize;							///< The maximum size of the component after installation
    82 		TInt iMaxInstalledSize;							///< The maximum size of the component after installation
   105 		TBool iHasExe;									///<Indicates Whether the component has an exe or not
    83 		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
       
   108 		RCPointerArray<CNativeComponentInfo> iChildren;	///< The children component info, incase of embedded packages.	
    84 		RCPointerArray<CNativeComponentInfo> iChildren;	///< The children component info, incase of embedded packages.	
   109 	
    85 	
   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 		
       
   116 		};	
    86 		};	
   117 	} // nameSpace Swi
    87 	} // nameSpace Swi
   118 #endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
    88 #endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
   119 #endif // NATIVECOMPONENTINFO_H
    89 #endif // NATIVECOMPONENTINFO_H