45979
[apps/osp/Gallery.git] / inc / GlAlbumListPresentationModel.h
index c7603f5..b360a12 100644 (file)
@@ -1,7 +1,7 @@
 //
 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
 //
-// Licensed under the Flora License, Version 1.0 (the License);
+// Licensed under the Flora License, Version 1.1 (the License);
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
 #define _GL_ALBUM_LIST_PRESENTATION_MODEL_H_
 
 #include <FApp.h>
-#include <FBase.h>
-#include <FContent.h>
-#include <FGraphics.h>
-#include <FIo.h>
-#include <FUi.h>
+#include <FSystem.h>
 #include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+#include "GlIContentFileUpdateManager.h"
 #include "GlResourceManager.h"
 #include "GlThumbnailEventListener.h"
 #include "GlThumbnailProvider.h"
 #include "GlTypes.h"
 
 class AlbumInfo;
+class IAlbumRenameEventListener;
 
 class AlbumListPresentationModel
-       : public Tizen::Base::Object
+       : public IContentFileUpdateManager
        , public IThumbnailEventListener
+       , public Tizen::Base::Object
+       , public Tizen::System::IDeviceEventListener
 {
 public:
        static AlbumListPresentationModel* GetInstance(void);
 
-public:
        result AddPresentationModelListener(IAlbumEventListener* listener);
        result RemovePresentationModelListener(IAlbumEventListener& listner);
 
-       void RequestThumbnail(const int folderIndex, int pathIndex);
-       void CancelThumbnailRequest(const int folderIndex);
-       void ClearThumbnailRequests(bool appTerminating = false);
-       result StartAppControl( const Tizen::Base::String&  providerId, const Tizen::Base::String&  operationId,
-                       const Tizen::Base::Collection::IMap* pDataList, Tizen::App::IAppControlResponseListener* pListener);
+       static void AddContentEventListener(const IFormContentUpdateEventListener* listener);
+       static void RemoveContentEventListener(const IFormContentUpdateEventListener& listener);
+
+       virtual result RotateImage(int index, RotateMode rotateMode);
+       virtual void RequestThumbnail(int index){};
+       void RequestThumbnail(const int folderIndex, const int pathIndex);
+       void ClearThumbnailRequests(const bool appTerminating = false);
+       result StartAppControl(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId,
+                       const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType,
+                       const Tizen::Base::Collection::HashMap* pDataList, Tizen::App::IAppControlResponseListener* pListener);
 
        void InitializeAlbumInfoList(const Tizen::Content::ContentType& contentType);
-       result DeleteContentInfoInDirectory(int index, Tizen::Content::ContentType contentType);
        void CallAlbumChangedEvent(void);
-       int GetFolderCount(void);
+       int GetFolderCount(void) const;
 
-       Tizen::Graphics::Bitmap* CreateMergeBitmapN(int index);
-       Tizen::Base::Collection::IList* GetAlbumInfoList(void);
+       Tizen::Graphics::Bitmap* CreateMergeBitmapN(const int index);
+       Tizen::Base::Collection::IList* GetAlbumInfoList(void) const;
 
        AppControlMode GetAppControlMode(void) const;
        AppControlMediaType GetAppControlMediaType(void) const;
        AppControlSelectionMode GetAppControlSelectionMode(void) const;
 
+       result RenameAlbum(const Tizen::Base::String&, const Tizen::Base::String&, IAlbumRenameEventListener*);
+
+       virtual Tizen::Base::Collection::IList* GetContentIdListAtIndexN(const Tizen::Base::Collection::IList& indexList) const;
+       virtual result DeleteContentFile(const Tizen::Content::ContentId& contentId);
+
        virtual void OnThumbnailReceivedN(Tizen::Base::Runtime::IEventArg& eventArg);
 
+       bool OnContentScanCompleted(const Tizen::Base::String &scanPath);\r
+
+       void OnContentCreated(void);
+       void OnContentUpdated(void);
+       void OnContentDeleted(void);
+
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+       void SetUpdateProgressStatus(const bool status);
+
 private:
        AlbumListPresentationModel(void);
        virtual ~AlbumListPresentationModel(void);
        AlbumListPresentationModel(const AlbumListPresentationModel&);
-       const AlbumListPresentationModel& operator = (const AlbumListPresentationModel&);
+       const AlbumListPresentationModel& operator =(const AlbumListPresentationModel&);
 
        result Construct(void);
        static void CreateInstance(void);
@@ -81,7 +99,7 @@ private:
                        const Tizen::Graphics::Rectangle& rectNew);
        void DrawFontImage(Tizen::Graphics::Canvas& canvas, AlbumInfo* pAlbumInfo, int index);
 
-       Tizen::Base::String GetDirectoryName(Tizen::Base::String& directoryPath);
+       Tizen::Base::String GetDirectoryName(Tizen::Base::String& directoryPath) const;
        Tizen::Base::Collection::IList* GetContentIdListInDirectoryN(const Tizen::Base::String& directoryPath,
                        Tizen::Content::ContentType contentType) const;
        Tizen::Base::String GetDirectoryNameFromFullPath(const Tizen::Base::String& fullPath) const;
@@ -89,17 +107,19 @@ private:
 private:
        static AlbumListPresentationModel* __pPresentationModelInstance;
        static ThumbnailProvider* __pThumbnailProvider;
-
-       Tizen::Graphics::Bitmap* __pFolderBackgroundBitmap;
        static ThumbnailEvent* __pThumbnailEvent;
-
+       static Tizen::Base::Collection::ArrayList* __pContentEventListener;
        static Tizen::Base::Collection::ArrayList* __pPresentationModelListener;
-
        static Tizen::Base::Collection::IList* __pAlbumInfoList;
-
+       Tizen::Graphics::Bitmap* __pFolderBackgroundBitmap;
+       Tizen::Content::ContentManager* __pContentManager;
+       IAlbumRenameEventListener* __pAlbumListener;
+       RequestId __reqId;
        AppControlMode __appControlMode;
        AppControlMediaType __appControlMediaType;
        AppControlSelectionMode __appControlSelectionMode;
+       bool __updateProgressStatus;
+       Tizen::Base::String __renameNewPath;\r
 };
 
 #endif /* _GL_ALBUM_LIST_PRESENTATION_MODEL_H_ */