2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (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 PhnTabLogsItemProvider.h
19 * @brief This is the header file for the %CustomDataProvider class.
21 * This header file contains the declarations for %CustomDataProvider class.
26 #include "PhnCalllogManager.h"
28 #ifndef _PHN_TAB_LOGS_ITEM_PROVIDER_H_
29 #define _PHN_TAB_LOGS_ITEM_PROVIDER_H_
31 using namespace Tizen::Ui;
32 using namespace Tizen::Ui::Controls;
37 * @class CustomDataProvider
38 * @brief This class provides base class for item providers of calllog application
41 class CustomDataProvider
42 : public Tizen::Ui::Controls::IGroupedListViewItemProvider
45 CustomDataProvider(void);
46 virtual ~CustomDataProvider(void);
48 void SetListItemStyle(bool mode);
50 // IGroupedListViewItemProvider
51 virtual int GetGroupCount(void);
52 virtual int GetItemCount(int groupIndex);
53 virtual Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
54 virtual bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
55 virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
56 virtual bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
58 bool GetCurrentDateTime(Tizen::Base::DateTime& dt);
59 void CreateGroupItems(void);
60 bool IsGroupPresent(GroupItemClass* group);
61 GroupItemClass* GetGroupWithTitle(Tizen::Base::String title);
62 int GetDaysDifferenceBetweenDates(Tizen::Base::DateTime date1, Tizen::Base::DateTime date2);
63 void GetItemAtGroupIndex(int groupIndex, int itemIndex, CallLogDetails** pCalllogDetails);
64 void DeleteItemAtGroupIndex(int groupIndex, int itemIndex);
65 void DeleteAllItems(void);
69 Tizen::Base::Collection::ArrayList* __pGroupData;
70 Tizen::Social::Addressbook* __pAddressBook;
71 Tizen::Ui::Controls::ListContextItem* __pItemContext;
76 * @class GroupItemClass
77 * @brief This class helps in storing group item data
81 :public Tizen::Base::Object
84 Tizen::Base::String __titleText;
85 Tizen::Base::Collection::ArrayList* __pData;
89 virtual ~GroupItemClass(void);
92 * This function sets the titleText for the History object
94 * @return No return type
95 * @param titleText The titleText for the History
97 void SetTitleText(Tizen::Base::String titleText);
100 * This function sets the data for the History object
102 * @return No return type
103 * @param pData The data for the History
105 void SetLogData(Tizen::Base::Collection::ArrayList* pData);
108 * This function gets the GetTitleText of History
111 * @param No parameter
113 Tizen::Base::String GetTitleText(void);
116 * This function gets the GetHistoryData of History
118 * @return A Pointer to ArrayList
119 * @param No parameter
121 Tizen::Base::Collection::ArrayList* GetLogData(void);
123 #endif /* _PHN_TAB_LOGS_ITEM_PROVIDER_H_ */