• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 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 "hstream_capture_callback_stub.h"
17 #include "camera_log.h"
18 #include "camera_service_ipc_interface_code.h"
19 
20 namespace OHOS {
21 namespace CameraStandard {
OnRemoteRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)22 int HStreamCaptureCallbackStub::OnRemoteRequest(
23     uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)
24 {
25     int errCode = -1;
26 
27     CHECK_ERROR_RETURN_RET(data.ReadInterfaceToken() != GetDescriptor(), errCode);
28     switch (code) {
29         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_CAPTURE_STARTED):
30             errCode = HandleOnCaptureStarted(data);
31             break;
32         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_CAPTURE_STARTED_V1_2):
33             errCode = HandleOnCaptureStarted_V1_2(data);
34             break;
35         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_CAPTURE_ENDED):
36             errCode = HandleOnCaptureEnded(data);
37             break;
38         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_CAPTURE_ERROR):
39             errCode = HandleOnCaptureError(data);
40             break;
41         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_FRAME_SHUTTER):
42             errCode = HandleOnFrameShutter(data);
43             break;
44         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_FRAME_SHUTTER_END):
45             errCode = HandleOnFrameShutterEnd(data);
46             break;
47         case static_cast<uint32_t>(StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_CAPTURE_READY):
48             errCode = HandleOnCaptureReady(data);
49             break;
50         case static_cast<uint32_t>(
51             StreamCaptureCallbackInterfaceCode::CAMERA_STREAM_CAPTURE_ON_OFFLINE_DELIVERY_FINISHED):
52             errCode = HandleOnOfflineDeliveryFinished(data);
53             break;
54         default:
55             MEDIA_ERR_LOG("HStreamCaptureCallbackStub request code %{public}u not handled", code);
56             errCode = IPCObjectStub::OnRemoteRequest(code, data, reply, option);
57             break;
58     }
59 
60     return errCode;
61 }
62 
HandleOnCaptureStarted(MessageParcel & data)63 int HStreamCaptureCallbackStub::HandleOnCaptureStarted(MessageParcel& data)
64 {
65     int32_t captureId = data.ReadInt32();
66 
67     return OnCaptureStarted(captureId);
68 }
69 
HandleOnCaptureStarted_V1_2(MessageParcel & data)70 int HStreamCaptureCallbackStub::HandleOnCaptureStarted_V1_2(MessageParcel& data)
71 {
72     int32_t captureId = data.ReadInt32();
73     uint32_t exposureTime = data.ReadUint32();
74 
75     return OnCaptureStarted(captureId, exposureTime);
76 }
77 
HandleOnCaptureEnded(MessageParcel & data)78 int HStreamCaptureCallbackStub::HandleOnCaptureEnded(MessageParcel& data)
79 {
80     int32_t captureId = data.ReadInt32();
81     int32_t frameCount = data.ReadInt32();
82 
83     return OnCaptureEnded(captureId, frameCount);
84 }
85 
HandleOnCaptureError(MessageParcel & data)86 int HStreamCaptureCallbackStub::HandleOnCaptureError(MessageParcel& data)
87 {
88     int32_t captureId = data.ReadInt32();
89     int32_t errorCode = data.ReadInt32();
90 
91     return OnCaptureError(captureId, errorCode);
92 }
93 
HandleOnFrameShutter(MessageParcel & data)94 int HStreamCaptureCallbackStub::HandleOnFrameShutter(MessageParcel& data)
95 {
96     int32_t captureId = data.ReadInt32();
97     uint64_t timestamp = data.ReadUint64();
98 
99     return OnFrameShutter(captureId, timestamp);
100 }
101 
HandleOnFrameShutterEnd(MessageParcel & data)102 int HStreamCaptureCallbackStub::HandleOnFrameShutterEnd(MessageParcel& data)
103 {
104     int32_t captureId = data.ReadInt32();
105     uint64_t timestamp = data.ReadUint64();
106 
107     return OnFrameShutterEnd(captureId, timestamp);
108 }
109 
HandleOnCaptureReady(MessageParcel & data)110 int HStreamCaptureCallbackStub::HandleOnCaptureReady(MessageParcel& data)
111 {
112     int32_t captureId = data.ReadInt32();
113     uint64_t timestamp = data.ReadUint64();
114 
115     return OnCaptureReady(captureId, timestamp);
116 }
117 
HandleOnOfflineDeliveryFinished(MessageParcel & data)118 int HStreamCaptureCallbackStub::HandleOnOfflineDeliveryFinished(MessageParcel& data)
119 {
120     int32_t captureId = data.ReadInt32();
121     return OnOfflineDeliveryFinished(captureId);
122 }
123 } // namespace CameraStandard
124 } // namespace OHOS
125 
126