1 // Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache-2.0 license that can be
3 // found in the LICENSE file.
5 #ifndef CLIENT_PKGINFO_CLIENT_HH_
6 #define CLIENT_PKGINFO_CLIENT_HH_
8 #include "abstract_parcelable.hh"
9 #include "client_socket.hh"
10 #include "request_type.hh"
14 namespace pkgmgr_client {
18 class CPUInheritanceInvoker {
20 CPUInheritanceInvoker();
21 ~CPUInheritanceInvoker();
22 void SetCPUInheritance();
23 void ClearCPUInheritance();
30 std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcel,
31 uid_t uid, pkgmgr_common::ReqType req_type);
32 ~PkgInfoClient() = default;
34 std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> GetResultParcel();
37 bool RequestHandlerDirectAccess(tizen_base::Parcel* parcel);
39 std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcel_;
40 std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> result_parcel_;
41 std::unique_ptr<pkgmgr_common::socket::ClientSocket> socket_;
43 pkgmgr_common::ReqType req_type_;
45 CPUInheritanceInvoker cpu_inheritance_invoker_;
48 } // namespace pkgmgr_client
50 #endif // CLIENT_PKGINFO_CLIENT_HH_