2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file GlContentUpdateEventListener.cpp
19 * @brief This is the implementation file for ContentUpdateEventListener class.
22 #include "GlContentUpdateEventListener.h"
23 #include "GlFileListPresentationModel.h"
24 #include "GlAlbumListPresentationModel.h"
26 using namespace Tizen::Base;
27 using namespace Tizen::Base::Collection;
28 using namespace Tizen::Content;
30 ContentUpdateEventListener* ContentUpdateEventListener::__pContentUpdateEventListener = null;
32 ContentUpdateEventListener::ContentUpdateEventListener(void)
33 : __pContentManager(null)
39 ContentUpdateEventListener::~ContentUpdateEventListener(void)
42 __pContentManager->RemoveContentUpdateEventListener(*this);
43 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
46 ContentUpdateEventListener*
47 ContentUpdateEventListener::GetInstance(void)
50 if (__pContentUpdateEventListener == null)
54 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
56 return __pContentUpdateEventListener;
59 void ContentUpdateEventListener::AddContentListener(void)
61 __pContentManager->AddContentUpdateEventListener(*this);
64 void ContentUpdateEventListener::RemoveContentListener(void)
66 __pContentManager->RemoveContentUpdateEventListener(*this);
70 ContentUpdateEventListener::Construct(void)
74 __pContentManager = new (std::nothrow) ContentManager();
75 __pContentManager->Construct();
76 __pContentManager->AddContentUpdateEventListener(*this);
78 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
83 ContentUpdateEventListener::CreateInstance(void)
86 __pContentUpdateEventListener = new (std::nothrow) ContentUpdateEventListener();
87 result r = __pContentUpdateEventListener->Construct();
88 if (IsFailed(r) == true)
90 delete __pContentUpdateEventListener;
91 __pContentUpdateEventListener = null;
92 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
97 std::atexit(DestroyInstance);
98 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
102 ContentUpdateEventListener::DestroyInstance(void)
104 AppLogDebug("ENTER");
106 delete __pContentUpdateEventListener;
107 __pContentUpdateEventListener = null;
109 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
113 ContentUpdateEventListener::OnContentFileCreated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r)
115 AppLogDebug("ENTER");
117 if ( contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO)
119 AlbumListPresentationModel::GetInstance()->OnContentCreated();
120 FileListPresentationModel::GetInstance()->OnContentCreated();
127 ContentUpdateEventListener::OnContentFileUpdated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r)
129 AppLogDebug("ENTER");
131 if ( contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO)
133 AlbumListPresentationModel::GetInstance()->OnContentUpdated();
134 FileListPresentationModel::GetInstance()->OnContentUpdated();
140 ContentUpdateEventListener::OnContentFileDeleted(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r)
142 AppLogDebug("ENTER");
144 if ( contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO)
146 AlbumListPresentationModel::GetInstance()->OnContentDeleted();
147 FileListPresentationModel::GetInstance()->OnContentDeleted();
154 ContentUpdateEventListener::OnContentDirectoryScanCompleted(const Tizen::Base::String& directoryPath, result r)
156 AppLogDebug("ENTER");
158 AlbumListPresentationModel::GetInstance()->OnContentDeleted();
159 FileListPresentationModel::GetInstance()->OnContentDeleted();
160 AlbumListPresentationModel::GetInstance()->OnContentScanCompleted( directoryPath );
\r