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 #include "set_cert_request_handler.hh"
6 #include "parcelable_factory.hh"
7 #include "certinfo_parcelable.hh"
8 #include "cert_set_db_handler.hh"
12 using namespace pkgmgr_common::parcel;
13 using namespace pkgmgr_common::database;
15 namespace pkgmgr_server {
16 namespace request_handler {
18 bool SetCertRequestHandler::HandleRequest(unsigned char* data, int size,
20 auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
22 if (abstract_parcel == nullptr ||
23 abstract_parcel->GetType() != ParcelableType::CertInfo) {
28 auto* parcel = dynamic_cast<CertInfoParcelable*>(abstract_parcel.get());
29 if (parcel == nullptr) {
34 CertSetDBHandler db(parcel->GetUid(), GetPID());
36 db.SetCertHandle(const_cast<pkgmgr_certinfo_x*>(parcel->GetCertInfo()));
38 int ret = db.Execute();
45 std::vector<uint8_t> SetCertRequestHandler::GetResult() {
46 //need to return valid result
47 return std::vector<uint8_t>('0');
50 } // namespace request_handler
51 } // namespace pkgmgr_server