hunting/middleware/MediaManager/src/IMediaManager.cpp
2024-06-26 16:18:46 +08:00

130 lines
4.1 KiB
C++

/*
* Copyright (c) 2023 Fancy Code.
* 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.
*/
#include "IMediaManager.h"
#include "ILog.h"
#include "StatusCode.h"
#include <memory>
#include <string>
#include <vector>
media_report_event::media_report_event(const std::string &fileName, const MediaChannel &mediaChannedl)
: mFileName(fileName), mMediaChannedl(mediaChannedl)
{
}
media_task_response::media_task_response(const std::string &fileName) : mFileName(fileName)
{
}
const MediaTaskType VMediaTask::GetTaskType(void)
{
return MediaTaskType::END;
}
std::string VMediaTask::GetTargetNameForSaving(void)
{
const std::string fileName = "Undefined";
return fileName;
}
void VMediaTask::Response(const std::vector<MediaTaskResponse> &response)
{
}
bool VMediaTask::IsTaskFinished(void)
{
return false;
}
const signed int VMediaTask::GetIsNight(void)
{
return 0;
}
const unsigned int VMediaTask::GetIsMultShot(void)
{
return false;
}
StatusCode VMediaMonitor::ReportEvent(const MediaReportEvent &event)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode VMediaHandle::ExecuteTask(std::shared_ptr<VMediaTask> &task)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode VMediaHandle::StopTask(void)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode VMediaHandle::ClearTask(void)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode VMediaHandle::SetSpontaneousTaskMonitor(std::shared_ptr<VMediaTask> &task)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
// StatusCode VMediaHandle::BeReadyForLive(void)
// {
// LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
// return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
// }
// StatusCode VMediaHandle::SetMediaMonitor(std::shared_ptr<VMediaMonitor> &monitor)
// {
// LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
// return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
// }
// StatusCode VMediaHandle::StartMedia(void)
// {
// LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
// return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
// }
// StatusCode VMediaHandle::StopMedia(void)
// {
// LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
// return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
// }
std::shared_ptr<IMediaManager> &IMediaManager::GetInstance(std::shared_ptr<IMediaManager> *impl)
{
static auto instance = std::make_shared<IMediaManager>();
if (impl) {
if (instance.use_count() == 1) {
LogWarning("Instance changed succeed.\n");
instance = *impl;
}
else {
LogError("Can't changing the instance becase of using by some one.\n");
}
}
return instance;
}
StatusCode IMediaManager::Init(void)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode IMediaManager::UnInit(void)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode IMediaManager::SetMediaMonitor(std::shared_ptr<VMediaMonitor> &monitor)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode IMediaManager::GetMediaChannel(const MediaChannel &channel, std::shared_ptr<VMediaHandle> &handle)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}