Fix smack dependency
[platform/framework/native/common-service.git] / inc / CommonService.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 #ifndef _COMMON_SERVICE_H_
19 #define _COMMON_SERVICE_H_
20
21 #include <unique_ptr.h>
22 #include <FApp.h>
23 #include <FBase.h>
24 #include <FSystem.h>
25
26 namespace Tizen { namespace App
27 {
28 class _PackageManagerStub;
29 }}
30
31 namespace Tizen { namespace Ui 
32 {
33 class _UiManagerStub;
34 }} // Tizen::Ui
35
36 namespace Tizen { namespace System
37 {
38 class _SettingService;
39 }}
40
41 /**
42  * @class       CommonService
43  * @brief
44  */
45 class CommonService
46         : public Tizen::App::ServiceApp
47 {
48 public:
49         static Tizen::App::ServiceApp* CreateInstance(void);
50
51         CommonService(void);
52         virtual ~CommonService(void);
53
54         bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
55         bool OnAppInitialized(void); 
56         bool OnAppWillTerminate(void);
57         bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
58         void OnLowMemory(void);
59         void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);
60                 
61 private:
62         void InitializeServices(void);  
63
64         Tizen::App::_PackageManagerStub* __pPackageManagerStub;
65         std::unique_ptr<Tizen::Ui::_UiManagerStub> __pUiManagerStub;
66         Tizen::System::_SettingService* __pSettingService;
67 };
68
69 #endif // _COMMON_SERVICE_H_