2 * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd All Rights Reserved
4 * Contact: Bumjin Im <bj.im@samsung.com>
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License
19 * @author Jan Cybulski (j.cybulski@samsung.com)
21 * @brief Implementation of api-check-privilege-by-pid
24 #ifndef _SECURITY_SERVER_PRIVILEGE_BY_PID_
25 #define _SECURITY_SERVER_PRIVILEGE_BY_PID_
27 #include <service-thread.h>
28 #include <generic-socket-manager.h>
30 #include <message-buffer.h>
32 namespace SecurityServer {
34 class PrivilegeByPidService
35 : public SecurityServer::GenericSocketService
36 , public SecurityServer::ServiceThread<PrivilegeByPidService>
39 typedef std::map<int, MessageBuffer> MessageBufferMap;
41 ServiceDescriptionVector GetServiceDescription();
43 DECLARE_THREAD_EVENT(AcceptEvent, accept)
44 DECLARE_THREAD_EVENT(WriteEvent, write)
45 DECLARE_THREAD_EVENT(ReadEvent, process)
46 DECLARE_THREAD_EVENT(CloseEvent, close)
48 void accept(const AcceptEvent &event);
49 void write(const WriteEvent &event);
50 void process(const ReadEvent &event);
51 void close(const CloseEvent &event);
53 bool processOne(const ConnectionID &conn, MessageBuffer &buffer);
55 MessageBufferMap m_messageBufferMap;
58 } // namespace SecurityServer
60 #endif // _SECURITY_SERVER_DATA_SHARE_