//
// 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);
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;
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_ */