src/hbservers/hbthemeserver/hbthemeserver_symbian_p_p.h
changeset 2 06ff229162e9
parent 1 f7ac710697a9
child 3 11d3954df52a
equal deleted inserted replaced
1:f7ac710697a9 2:06ff229162e9
    42 #include <e32base.h>
    42 #include <e32base.h>
    43 
    43 
    44 class HbThemeServerSession;
    44 class HbThemeServerSession;
    45 struct HbIconKey;
    45 struct HbIconKey;
    46 class HbIconSource;
    46 class HbIconSource;
    47 class ThemeIndexTables;
       
    48 class CHbThemeChangeNotificationListener;
    47 class CHbThemeChangeNotificationListener;
    49 
    48 
    50 // reasons for server panic
    49 // reasons for server panic
    51 enum TPixmapServPanic {
    50 enum TPixmapServPanic {
    52     EBadRequest = 1,
    51     EBadRequest = 1,
    95     HbCacheItem * cssCacheItem(const QString &key);
    94     HbCacheItem * cssCacheItem(const QString &key);
    96     void CleanupSessionCssItem(QString key);
    95     void CleanupSessionCssItem(QString key);
    97     void clearCssCache();
    96     void clearCssCache();
    98     void MemoryGood();
    97     void MemoryGood();
    99     void FreeGpuRam(int bytes);
    98     void FreeGpuRam(int bytes);
   100 
    99     void freeUnusedGpuResources();
       
   100     
   101     void insertIconDefaultSizeCacheItem(const QString &key, const QSizeF &item);
   101     void insertIconDefaultSizeCacheItem(const QString &key, const QSizeF &item);
   102     QSizeF iconDefaultSizeCacheItem(const QString &key);
   102     QSizeF iconDefaultSizeCacheItem(const QString &key);
   103 
   103 
   104     void doCleanup();
   104     void doCleanup();
   105     static bool gpuMemoryState();
   105     static bool gpuMemoryState();
   106 
   106 
   107     void getThemeIndexTables(ThemeIndexTables &tables);
       
   108     void openCurrentIndexFile();
   107     void openCurrentIndexFile();
   109     void resolveCurrentThemeDrive();	
   108     bool resolveThemePath(const QString &themeName, QString &themePath);
       
   109     HbRenderingMode currentRenderingMode() const;
       
   110     void setCurrentRenderingMode(HbRenderingMode currentMode);
   110     void HandleThemeSelection( const QString& themeName);
   111     void HandleThemeSelection( const QString& themeName);
   111 
   112 
   112     int freeSharedMemory();
   113     int freeSharedMemory();
   113     int allocatedSharedMemory();
   114     int allocatedSharedMemory();
   114     int allocatedHeapMemory();
   115     int allocatedHeapMemory();
   139 #endif
   140 #endif
   140 
   141 
   141 #endif
   142 #endif
   142 
   143 
   143 private:
   144 private:
   144     void processThemeIndex(const QString &theme, const QChar drive);
   145     void createThemeIndex(const QString &themePath, const HbThemeType &themetype);
   145     QString themeIndexKey(const QString &theme, const QChar drive);
       
   146     void removeOldThemeIndexes();
       
   147 
   146 
   148 public:
   147 public:
   149     RProperty iThemeProperty;
   148     RProperty iThemeProperty;
   150     QString iCurrentThemeName;
   149     QString iCurrentThemeName;
   151     QChar currentThemeDrive;
   150     QString iCurrentThemePath;
   152     QFile currentIndexfile;
   151     QFile currentIndexfile;
   153 private:
   152 private:
   154     void ConstructL();
   153     void ConstructL();
   155     HbIconDataCache * cache;
   154     HbIconDataCache * cache;
   156     HbCache* cssCache;
   155     HbCache* cssCache;
   157     QHash<QString, QSizeF> iconDefaultSizes;
   156     QHash<QString, QSizeF> iconDefaultSizes;
   158     // String key is in format "<drive_capitalized>:<themename>"
   157 
   159     // E.g. "Z:hbdefault"
   158     static bool gpuGoodMemoryState;
   160     QMap<QString, int> themeIndexes;
   159     HbRenderingMode renderMode;
   161     QString baseThemeIndexKey;
       
   162     QString lastThemeIndexKey;
       
   163 	
       
   164     static bool gpuGoodMemoryState;	
       
   165     
       
   166     QStringList romThemeNames;
   160     QStringList romThemeNames;
   167     CHbThemeChangeNotificationListener * iListener;
   161     CHbThemeChangeNotificationListener * iListener;
   168 };
   162 };
   169 
   163 
   170 //**********************************
   164 //**********************************
   185     void GetSharedIconDefaultSizeInfoL(const RMessage2 &aMessage);
   179     void GetSharedIconDefaultSizeInfoL(const RMessage2 &aMessage);
   186     QSizeF RetrieveIconDefaultSize(const QString &filename);
   180     QSizeF RetrieveIconDefaultSize(const QString &filename);
   187     void HandleStyleSheetLookupL(const RMessage2 & aMessage);
   181     void HandleStyleSheetLookupL(const RMessage2 & aMessage);
   188     void HandleWidgetMLLookupL(const RMessage2& aMessage);
   182     void HandleWidgetMLLookupL(const RMessage2& aMessage);
   189     void HandleDeviceProfilesReqL(const RMessage2& aMessage);
   183     void HandleDeviceProfilesReqL(const RMessage2& aMessage);
   190     void HandleSecondaryCacheOffsetReqL(const RMessage2& aMessage);
       
   191     void HandleEffectAddAndFileLookupL(const RMessage2 &aMessage);
   184     void HandleEffectAddAndFileLookupL(const RMessage2 &aMessage);
   192     void HandleThemeSelectionL(const RMessage2 & aMessage);
   185     void HandleThemeSelectionL(const RMessage2 & aMessage);
   193     QColor GetColorFromRgba(TUint32 aRgba, bool aColorFlag);
   186     QColor GetColorFromRgba(TUint32 aRgba, bool aColorFlag);
   194     void GetSharedMultiIconInfoL(const RMessage2& aMessage);
   187     void GetSharedMultiIconInfoL(const RMessage2& aMessage);
   195     void GetMultiIconInfoL(const RMessage2& aMessage);
   188     void GetMultiIconInfoL(const RMessage2& aMessage);
   208                                 HbIconKey &stichedKey,
   201                                 HbIconKey &stichedKey,
   209                                 HbSharedIconInfo &stitchedData);
   202                                 HbSharedIconInfo &stitchedData);
   210     void IconInfoL(const TIconListParams &frameItemParams,
   203     void IconInfoL(const TIconListParams &frameItemParams,
   211                    const int noOfPieces,
   204                    const int noOfPieces,
   212                    HbSharedIconInfoList &iconInfoList);
   205                    HbSharedIconInfoList &iconInfoList);
       
   206     void HandleTypefaceReqL(const RMessage2& aMessage);
   213     void unLoadIcon(const RMessage2& aMessage);
   207     void unLoadIcon(const RMessage2& aMessage);
   214     void unloadMultiIcon(const RMessage2& aMessage);
   208     void unloadMultiIcon(const RMessage2& aMessage);
   215     void freeClientGpuResources();
   209     void freeClientGpuResources();
   216     void ClearSessionData();
   210     void ClearSessionData();
   217 
   211     void freeGpuResources();
       
   212     void SwitchRenderingMode(HbRenderingMode aRenderMode);
   218 protected:
   213 protected:
   219     TIconParams ReadMessageAndRetrieveParams(const RMessage2 & aMessage);
   214     TIconParams ReadMessageAndRetrieveParams(const RMessage2 & aMessage);
   220     void PanicClient(const RMessage2 & aMessage, TInt aPanic) const;
   215     void PanicClient(const RMessage2 & aMessage, TInt aPanic) const;
   221 
   216 
   222 private:
   217 private:
   241     void stopListening();
   236     void stopListening();
   242 
   237 
   243 protected: // From CActive
   238 protected: // From CActive
   244     void RunL();
   239     void RunL();
   245     void DoCancel();
   240     void DoCancel();
   246     
   241 
   247 private:
   242 private:
   248     CHbThemeChangeNotificationListener(HbThemeServerPrivate& aObserver);
   243     CHbThemeChangeNotificationListener(HbThemeServerPrivate& aObserver);
   249     void ConstructL();
   244     void ConstructL();
   250     bool parseData( TDesC& requestData, HbThemeServerRequest& etype, TDes& data);
   245     bool parseData( TDesC& requestData, HbThemeServerRequest& etype, TDes& data);
   251     
   246 
   252         
   247 
   253 private: // data
   248 private: // data
   254     RProperty themeRequestProp;
   249     RProperty themeRequestProp;
   255     HbThemeServerPrivate& iObserver;
   250     HbThemeServerPrivate& iObserver;
   256 };
   251 };
   257 
   252 
   258 
   253 
   259 #endif // HBTHEMESERVER_SYMBIAN_P_H 
   254 #endif // HBTHEMESERVER_SYMBIAN_P_H
   260 
   255