hunting/test/middleware/MediaManager/tool/src/MediaManagerMakePtrTest.cpp
2024-04-25 22:51:38 +08:00

55 lines
2.0 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 "MediaManagerMakePtrTest.h"
#include "ILog.h"
void OverrideMediaManagerMakePtrObject(std::shared_ptr<MediaManagerMock> &appManagerMock)
{
std::shared_ptr<MediaManagerMakePtr> impl = std::make_shared<MediaManagerMakePtrTest>();
std::shared_ptr<MediaManagerMakePtrTest> test = std::dynamic_pointer_cast<MediaManagerMakePtrTest>(impl);
if (test) {
test->mMediaManagerMock = appManagerMock;
}
MediaManagerMakePtr::GetInstance(&impl);
}
void CancelOverrideMediaManagerMakePtrObject(void)
{
std::shared_ptr<MediaManagerMakePtr> tmp = MediaManagerMakePtr::GetInstance();
std::shared_ptr<MediaManagerMakePtrTest> test = std::dynamic_pointer_cast<MediaManagerMakePtrTest>(tmp);
if (test) {
test->mMediaManagerMock.reset();
}
tmp.reset();
test.reset();
std::shared_ptr<MediaManagerMakePtr> impl = std::make_shared<MediaManagerMakePtrTest>();
MediaManagerMakePtr::GetInstance(&impl);
}
MediaManagerMakePtrTest::MediaManagerMakePtrTest()
{
}
MediaManagerMakePtrTest::~MediaManagerMakePtrTest()
{
mMediaManagerMock.reset();
}
const StatusCode MediaManagerMakePtrTest::CreateMediaManagerModule(std::shared_ptr<IMediaManager> &impl)
{
if (mMediaManagerMock) {
LogInfo("CreateMediaManagerModule mMediaManagerMock\n");
impl = mMediaManagerMock;
}
else {
LogWarning("CreateMcuManager failed:mMediaManagerMock is nullptr.\n");
}
return CreateStatusCode(STATUS_CODE_OK);
}