b9f1ec455e28193b9de14b9b41ccbc982cb951bb
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Application / EventListInstalledApplications.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
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 #ifndef TIZENAPIS_API_EVENT_LIST_INSTALLED_APPLICATIONS_H_
18 #define TIZENAPIS_API_EVENT_LIST_INSTALLED_APPLICATIONS_H_
19
20 #include <Commons/IEvent.h>
21 #include <dpl/shared_ptr.h>
22 #include "ApplicationInformation.h"
23
24 namespace TizenApis {
25 namespace Api {
26 namespace Application {
27
28 class EventListInstalledApplications: public WrtDeviceApis::Commons::IEvent<EventListInstalledApplications> {
29 private:
30         ApplicationInformationArrayPtr m_appinfoArray;
31         int m_eventType;
32 public:
33         static const int APPMANAGER_UNKNOWN = 0;
34         static const int APPMANAGER_LIST_INSTALLED_APPLICATIONS = 1;
35         static const int APPMANAGER_LIST_RUNNING_APPLICATIONS = 2;
36
37 public:
38         void addApplicationInformation(const ApplicationInformationPtr appinfo)
39         {
40                 if( !m_appinfoArray )
41                 {
42                         ApplicationInformationArrayPtr appinfos(new ApplicationInformationArray());
43                         setApplicationInformationArray(appinfos);
44                 }
45                 m_appinfoArray->push_back(appinfo);
46         }
47         
48         const ApplicationInformationArrayPtr getApplicationInformationArray() const
49         {
50                 return m_appinfoArray;
51         }
52
53         void setApplicationInformationArray(ApplicationInformationArrayPtr appinfoArray){
54                 m_appinfoArray = appinfoArray;
55         }
56         
57         void setEventType(int type){
58                 m_eventType = type;
59         }
60
61         int getEventType(){
62                 return m_eventType;
63         }       
64
65         EventListInstalledApplications() 
66         {
67         }
68 };
69
70 typedef DPL::SharedPtr<EventListInstalledApplications> EventListInstalledApplicationsPtr;
71
72 } // Application
73 } // Api
74 } // TizenApis
75
76 #endif