/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package OHOS.CameraStandard.DeferredProcessing;
import IDeferredVideoProcessingSessionCallback;
sequenceable IpcFileDescriptor..OHOS.IPCFileDescriptor;

interface IDeferredVideoProcessingSession{
  [ipccode 1] void BeginSynchronize();
  [ipccode 2] void EndSynchronize();
  [ipccode 3] void AddVideo([in] String videoId, [in] String srcPath, [in] String temp1Path, [in] String temp2Path);
  [ipccode 4] void RemoveVideo([in] String videoId, [in] boolean restorable);
  [ipccode 5] void RestoreVideo([in] String videoId);
  [ipccode 6] void AddVideo([in] String videoId, [in] String srcPath, [in] String temp1Path, [in] String temp2Path,
      [in] String editPath);
  [ipccode 7] void ProcessVideo([in] String appName, [in] String videoId);
  [ipccode 8] void CancelProcessVideo([in] String videoId);
  [ipccode 9] void AddVideo([in] String videoId, [in] List<String> srcPaths, [in] String temp1Path, [in] String temp2Path);
  [ipccode 10] void AddVideo([in] String videoId, [in] List<String> srcPaths, [in] String temp1Path, [in] String temp2Path,
      [in] String editPath);
}