Applied latest source code
[apps/native/preloaded/MusicPlayer.git] / inc / MpComposerListPresentationModel.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 /**
18  * @file                MpComposerListPresentationModel.h
19  * @brief               This is the header file for ComposerListPresentationModel class.
20  */
21
22 #ifndef _MP_COMPOSER_LIST_PRESENTATION_MODEL_H_
23 #define _MP_COMPOSER_LIST_PRESENTATION_MODEL_H_
24
25 #include "MpCommonUtil.h"
26 #include "MpContentInformationStruct.h"
27 #include "MpTypes.h"
28
29 class ComposerListPresentationModel
30 {
31 public:
32         static ComposerListPresentationModel* GetInstance(void);
33         int GetContentCount(int composerIndex);
34         int GetAllComposerCount(void);
35         ContentInformation* GetComposerInfoN(int composerIndex);
36         void InitializeContentList(int composerIndex);
37         ContentInformation* GetContentInfoN(int contentIndex);
38         Tizen::Base::String* GetComposerName(int composerIndex);
39         Tizen::Base::Collection::ArrayList* GetContentPathListN(int composerIndex);
40         void RefreshContentList(int composerIndex);
41         int GetCurrentComposerIndex(void);
42         void AddContent(Tizen::Base::String path, int playlistIndex);
43         result UpdateComposerList(void);
44
45 private:
46         ComposerListPresentationModel(void);
47         ComposerListPresentationModel(const ComposerListPresentationModel& composerListPresentationModel);
48         const ComposerListPresentationModel& operator = (const ComposerListPresentationModel& composerListPresentationModel);
49         ~ComposerListPresentationModel(void);
50         result Construct(void);
51
52 private:
53         Tizen::Base::Collection::IList* __pComposerList;
54         Tizen::Base::Collection::IList* __pContentList;
55         static ComposerListPresentationModel* pComposerListPresentationModelInstance;
56         int __currentComposerIndex;
57 };
58
59 #endif // _MP_YEARS_LIST_PRESENTATION_MODEL_H_