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 HmHomeItemInfo.h
19 * @brief Keeps declaration of the HomeItemInfo
20 * Declares the HomeItemInfo class, it keeps the information of all the applications installed.
23 #ifndef _HM_HOME_APP_INFO_H_
24 #define _HM_HOME_APP_INFO_H_
31 * @brief Keeps all the informations of the applications.
34 : public Tizen::Base::Object
45 virtual ~HomeItemInfo(void);
48 * Returns applications ID
50 * @return Tizen::Base::String, Application's id
52 Tizen::Base::String GetAppId(void) const;
55 * returns the application icon, the bitmap object to shown in the screen
57 * @return Bitmap*, the bitmap object for app icon
59 Tizen::Graphics::Bitmap* GetApplicationIcon(void) const;
62 * Returns applications Name
64 * @return Tizen::Base::String*, Application's Name
66 Tizen::Base::String GetAppName(void) const;
69 * tell about, the application's icon path
71 * @return bool, true if can be shown in Home else false.
73 Tizen::Base::String GetIconPath(void) const;
78 * @return Tizen::Base::String, Package's id
80 Tizen::Base::String GetPackageId(void) const;
83 * Gets the position of the application's icon in the home screen.
85 * @param[out] pageNumber, the page number
86 * @param[out] position, position in that page
88 void GetPositionInHomeScreen(int& pageNumber, int& position) const;
91 * Initializes data by fetching information from the PackageInfo
93 * @return E_SUCCESS, otherwise standard error code
94 * @param[in] pPackInfo, the information of the package
96 result Initialize(Tizen::App::Package::PackageAppInfo* pPackAppInfo, Tizen::App::Package::PackageInfo* pPackInfo);
99 * tells about, if the application can be uninstalled or not
101 * @return bool, true if can be uninstalled else false.
103 bool IsUnistallable(void) const;
106 * tell about, if the app icon can be shown in the home screen
108 * @return bool, true if can be shown in Home else false.
110 bool IsVisibleInMainMenu(void) const;
113 * sets the application icon, the bitmap object to shown in the screen
115 * @param[in] pBitmap, the bitmap object for app icon
117 void SetApplicationIcon(Tizen::Graphics::Bitmap* pAppIconBitmap);
120 * sets the application name
122 * @param[in] newAppName, the name for this application
124 void SetApplicationName(Tizen::Base::String& newAppName);
126 * Sets the index of this item
128 * @param[in] newIndex, the new index for this application
130 void SetItemIndex(int newIndex);
133 * Sets the position of the app icon in the home screen
135 * @param[in] pageNumber, the page number
136 * @param[in] position, position in that page
138 void SetPositionInHomeScreen(int pageNumber, int position);
142 * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
144 HomeItemInfo(const HomeItemInfo&);
147 * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
149 HomeItemInfo& operator =(const HomeItemInfo&);
152 bool __isVisibleInMainMenu; // can be shown in the home screen
153 bool __isUninstallable; // can be un-installed
154 int __pageNumber; //Page number of this application in home screen
155 int __position; // position of the application in home screen page
156 Tizen::Base::String __appId; //application ID
157 Tizen::Base::String __appIconPath; // Application's Icon Path
158 Tizen::Base::String __appName; //Application name
159 Tizen::Graphics::Bitmap* __pAppIcon; // decoded bitmap for the application Icon
160 Tizen::Base::String __packageId; //package ID
163 #endif //_HM_HOME_APP_INFO_H_