serviceproviders/sapi_sysinfo/sysinfoservice/inc/sysinfo.h
changeset 22 fc9cf246af83
parent 19 989d2f495d90
child 33 50974a8b132e
--- a/serviceproviders/sapi_sysinfo/sysinfoservice/inc/sysinfo.h	Fri Jul 03 15:51:24 2009 +0100
+++ b/serviceproviders/sapi_sysinfo/sysinfoservice/inc/sysinfo.h	Thu Aug 27 07:43:07 2009 +0300
@@ -53,6 +53,7 @@
         EResolution,
         EStringList,
         EStringData,
+        ECameraInfo
         };
     public:
     /**
@@ -814,4 +815,112 @@
     };
 
 
+/**
+ *  @ref CCameraResolutionList this class lists different  
+ *  resolutions supported 
+ * 
+ *  @lib sysinfoservice.lib
+ *  @since S60 3.2
+ */
+NONSHARABLE_CLASS(CCameraResolutionList) : public CSysData
+    {
+public:
+    /**
+     * Two-phased constructor.
+     *
+     * @return A new instance of this class.
+     */
+    static CCameraResolutionList* NewL( RPointerArray<CResolution>& aCamResArray );
+    /**
+     * Two-phased constructor.
+     *
+     * @return A new instance of this class.
+     */
+    static CCameraResolutionList* NewLC( RPointerArray<CResolution>& aCamResArray );
+
+    /**
+     * On return val contains supported resolution XPixel or YPixel   
+     * depending upon whether flag is 0 or 1.
+     */
+    IMPORT_C TBool At( TInt aIndex, TInt flag, TInt& val ) const;
+
+    /**
+     * @return resolution at index.
+     */
+    IMPORT_C const CResolution* operator[]( TInt aIndex ) const;
+    /**
+     * @return number of supported resolutions.
+     */
+    IMPORT_C TInt Count() const;
+
+    /**
+     * Destructor.
+     */
+    ~CCameraResolutionList();
+
+private:
+    /**
+     * C++ default constructor.
+     */
+    CCameraResolutionList();
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL( RPointerArray<CResolution>& aCamResArray );
+
+private:
+    RPointerArray<CResolution> iresArray;
+    TInt iCount;
+    };
+
+/**
+ *  @ref CCameraInfo details about Resolutions Supported and 
+ *  MimeTypes supported by a device
+ *  @lib sysinfoservice.lib
+ *  @since S60 3.2
+ */
+NONSHARABLE_CLASS(CCameraInfo) : public CSysData
+    {
+public:
+    /**
+     * Two-phased constructor.
+     * @return A new instance of this class.
+     */
+    static CCameraInfo* NewL( CCameraResolutionList* aCamResList, CStringList* aMimeTypesList );
+    /**
+     * Two-phased constructor.
+     * @return A new instance of this class.
+     */
+    static CCameraInfo* NewLC( CCameraResolutionList* aCamResList, CStringList* aMimeTypes );
+
+    /**
+     * On return List of supported Resolutions
+     */
+    IMPORT_C CCameraResolutionList* ResolutionList() const;
+
+    /**
+     * On return List of supported MimeTypes
+     */
+    IMPORT_C CStringList* MimeTypesList() const;
+
+    /**
+     * Destructor.
+     */
+    ~CCameraInfo();
+
+private:
+    /**
+     * C++ default constructor.
+     */
+    CCameraInfo();
+    /**
+     * Symbian 2nd phase constructor.
+     */
+    void ConstructL( CCameraResolutionList* aCamResList, CStringList* aMimeTypes );
+
+private:
+    CCameraResolutionList* iResList;
+    CStringList* iMimeTypesList;
+    };
+
 #endif __SYSINFO_H__