1 /*
2 * Copyright (c) 2023-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "deferred_photo_processing_session_stub.h"
17 #include "deferred_processing_service_ipc_interface_code.h"
18 #include "dp_log.h"
19
20 namespace OHOS {
21 namespace CameraStandard {
22 namespace DeferredProcessing {
DeferredPhotoProcessingSessionStub()23 DeferredPhotoProcessingSessionStub::DeferredPhotoProcessingSessionStub()
24 {
25 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub Instances create");
26 }
27
~DeferredPhotoProcessingSessionStub()28 DeferredPhotoProcessingSessionStub::~DeferredPhotoProcessingSessionStub()
29 {
30 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub Instances destroy");
31 }
32
OnRemoteRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)33 int DeferredPhotoProcessingSessionStub::OnRemoteRequest(uint32_t code, MessageParcel& data,
34 MessageParcel& reply, MessageOption& option)
35 {
36 int errCode = -1;
37 DP_CHECK_RETURN_RET(data.ReadInterfaceToken() != GetDescriptor(), errCode);
38
39 switch (code) {
40 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_BEGIN_SYNCHRONIZE): {
41 errCode = DeferredPhotoProcessingSessionStub::HandleBeginSynchronize(data);
42 break;
43 }
44 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_END_SYNCHRONIZE):
45 errCode = DeferredPhotoProcessingSessionStub::HandleEndSynchronize(data);
46 break;
47 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_ADD_IMAGE): {
48 errCode = DeferredPhotoProcessingSessionStub::HandleAddImage(data);
49 break;
50 }
51 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_REMOVE_IMAGE):
52 errCode = DeferredPhotoProcessingSessionStub::HandleRemoveImage(data);
53 break;
54 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_RESTORE_IMAGE): {
55 errCode = DeferredPhotoProcessingSessionStub::HandleRestoreImage(data);
56 break;
57 }
58 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_PROCESS_IMAGE): {
59 errCode = DeferredPhotoProcessingSessionStub::HandleProcessImage(data);
60 break;
61 }
62 case static_cast<uint32_t>(DeferredProcessingServiceInterfaceCode::DPS_CANCEL_PROCESS_IMAGE): {
63 errCode = DeferredPhotoProcessingSessionStub::HandleCancelProcessImage(data);
64 break;
65 }
66 default:
67 DP_ERR_LOG("DeferredPhotoProcessingSessionStub request code %{public}d not handled", code);
68 errCode = IPCObjectStub::OnRemoteRequest(code, data, reply, option);
69 break;
70 }
71 return errCode;
72 }
73
HandleBeginSynchronize(MessageParcel & data)74 int DeferredPhotoProcessingSessionStub::HandleBeginSynchronize(MessageParcel& data)
75 {
76 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleBeginSynchronize enter");
77 int32_t ret = BeginSynchronize();
78 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleBeginSynchronize result: %{public}d", ret);
79 return ret;
80 }
81
HandleEndSynchronize(MessageParcel & data)82 int DeferredPhotoProcessingSessionStub::HandleEndSynchronize(MessageParcel& data)
83 {
84 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleEndSynchronize enter");
85 int32_t ret = EndSynchronize();
86 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleEndSynchronize result: %{public}d", ret);
87 return ret;
88 }
89
HandleAddImage(MessageParcel & data)90 int DeferredPhotoProcessingSessionStub::HandleAddImage(MessageParcel& data)
91 {
92 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleAddImage enter");
93 std::string imageId = data.ReadString();
94 DpsMetadata metadata;
95 metadata.ReadFromParcel(data);
96 bool discardable = data.ReadBool();
97
98 int32_t ret = AddImage(imageId, metadata, discardable);
99 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleAddImage result: %{public}d", ret);
100 return ret;
101 }
102
HandleRemoveImage(MessageParcel & data)103 int DeferredPhotoProcessingSessionStub::HandleRemoveImage(MessageParcel& data)
104 {
105 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleRemoveImage enter");
106 std::string imageId = data.ReadString();
107 bool restorable = data.ReadBool();
108
109 int32_t ret = RemoveImage(imageId, restorable);
110 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleRemoveImage result: %{public}d", ret);
111 return ret;
112 }
113
HandleRestoreImage(MessageParcel & data)114 int DeferredPhotoProcessingSessionStub::HandleRestoreImage(MessageParcel& data)
115 {
116 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleRestoreImage enter");
117 std::string imageId = data.ReadString();
118
119 int32_t ret = RestoreImage(imageId);
120 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleRestoreImage result: %{public}d", ret);
121 return ret;
122 }
123
HandleProcessImage(MessageParcel & data)124 int DeferredPhotoProcessingSessionStub::HandleProcessImage(MessageParcel& data)
125 {
126 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleProcessImage enter");
127 std::string appName = data.ReadString();
128 std::string imageId = data.ReadString();
129
130 int32_t ret = ProcessImage(appName, imageId);
131 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleProcessImage result: %{public}d", ret);
132 return ret;
133 }
134
HandleCancelProcessImage(MessageParcel & data)135 int DeferredPhotoProcessingSessionStub::HandleCancelProcessImage(MessageParcel& data)
136 {
137 DP_DEBUG_LOG("DeferredPhotoProcessingSessionStub HandleCancelProcessImage enter");
138 std::string imageId = data.ReadString();
139 int32_t ret = CancelProcessImage(imageId);
140 DP_INFO_LOG("DeferredPhotoProcessingSessionStub HandleCancelProcessImage result: %{public}d", ret);
141 return ret;
142 }
143
144 } // namespace DeferredProcessing
145 } // namespace CameraStandard
146 } // namespace OHOS