tizen 2.3 release
[framework/web/wearable/wrt-security.git] / src / services / ace / ace_service.cpp
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  * @file        ace_service.cpp
18  * @author      Lukasz Wrzosek (l.wrzosek@samsung.com)
19  * @version     1.0
20  * @brief       This is implementation file of AceService service
21  */
22
23 #include <dpl/log/log.h>
24 #include <security_controller.h>
25
26 #include "security_daemon.h"
27
28 namespace AceService
29 {
30
31 class AceService : public SecurityDaemon::DaemonService
32 {
33   private:
34     virtual void initialize()
35     {
36         LogDebug("AceService initializing");
37
38         SecurityControllerSingleton::Instance().Touch();
39         SecurityControllerSingleton::Instance().SwitchToThread(NULL);
40
41         CONTROLLER_POST_SYNC_EVENT(
42             SecurityController,
43             SecurityControllerEvents::InitializeSyncEvent());
44     }
45
46     virtual void start()
47     {
48         LogDebug("Starting AceService");
49     }
50
51     virtual void stop()
52     {
53         LogDebug("Stopping AceService");
54     }
55
56     virtual void deinitialize()
57     {
58         LogDebug("AceService deinitializing");
59         SecurityControllerSingleton::Instance().SwitchToThread(NULL);
60         //this is direct call inside
61         CONTROLLER_POST_SYNC_EVENT(
62             SecurityController,
63             SecurityControllerEvents::TerminateSyncEvent());
64     }
65
66 };
67
68 DAEMON_REGISTER_SERVICE_MODULE(AceService)
69
70 }//namespace AceService