mirror of
https://gitee.com/openharmony/msdp_device_status
synced 2025-02-21 08:14:07 +00:00
add interface RegisterThumbnailDraw UnregisterThumbnailDraw
Signed-off-by: mayunteng_1 <mayunteng@huawei.com> Change-Id: Ib70d71825d9471032f6804275d3c03922ef738eb
This commit is contained in:
parent
3245e082a6
commit
2edff8abe6
@ -49,9 +49,10 @@ private:
|
||||
private:
|
||||
void ReleaseReference();
|
||||
bool IsSameHandle(napi_env env, napi_value handle, napi_ref ref);
|
||||
void EmitStartThumbnailDraw(int32_t num);
|
||||
void EmitNoticeThumbnailDraw(int32_t dragStates);
|
||||
void EmitEndThumbnailDraw();
|
||||
void EmitStartThumbnailDraw(int32_t pixmap, int32_t errCode);
|
||||
void EmitNoticeThumbnailDraw(int32_t dragStates, int32_t errCode);
|
||||
void EmitEndThumbnailDraw(int32_t errCode);
|
||||
void EmitUnregisterThumbnailDraw(int32_t errCode);
|
||||
|
||||
private:
|
||||
std::mutex mutex_;
|
||||
|
@ -88,18 +88,21 @@ monitorLabel:
|
||||
}
|
||||
}
|
||||
|
||||
void JsDragManager::EmitStartThumbnailDraw(int32_t pixmap)
|
||||
void JsDragManager::EmitStartThumbnailDraw(int32_t pixmap, int32_t errCode)
|
||||
{
|
||||
(void)pixmap;
|
||||
(void)errCode;
|
||||
}
|
||||
|
||||
void JsDragManager::EmitNoticeThumbnailDraw(int32_t dragStates)
|
||||
void JsDragManager::EmitNoticeThumbnailDraw(int32_t dragStates, int32_t errCode)
|
||||
{
|
||||
(void)dragStates;
|
||||
(void)errCode;
|
||||
}
|
||||
|
||||
void JsDragManager::EmitEndThumbnailDraw()
|
||||
void JsDragManager::EmitEndThumbnailDraw(int32_t errCode)
|
||||
{
|
||||
(void)errCode;
|
||||
}
|
||||
|
||||
void JsDragManager::ReleaseReference()
|
||||
@ -139,19 +142,27 @@ void JsDragManager::RegisterThumbnailDraw(napi_env env, size_t argc, napi_value*
|
||||
thumbnailDrawCb_[i]->ref = ref;
|
||||
}
|
||||
auto startCallback = std::bind(&JsDragManager::EmitStartThumbnailDraw, this,
|
||||
std::placeholders::_1);
|
||||
auto noticeCallback = std::bind(&JsDragManager::EmitNoticeThumbnailDraw, this, std::placeholders::_1);
|
||||
auto endCallback = std::bind(&JsDragManager::EmitEndThumbnailDraw, this);
|
||||
std::placeholders::_1, std::placeholders::_2);
|
||||
auto noticeCallback = std::bind(&JsDragManager::EmitNoticeThumbnailDraw,
|
||||
this, std::placeholders::_1, std::placeholders::_2);
|
||||
auto endCallback = std::bind(&JsDragManager::EmitEndThumbnailDraw, this, std::placeholders::_1);
|
||||
if (InteractionMgr->RegisterThumbnailDraw(startCallback, noticeCallback, endCallback) != RET_OK) {
|
||||
ReleaseReference();
|
||||
FI_HILOGE("Call register thumbnail draw failed");
|
||||
}
|
||||
}
|
||||
|
||||
void JsDragManager::EmitUnregisterThumbnailDraw(int32_t errCode)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void JsDragManager::UnregisterThumbnailDraw(napi_env env)
|
||||
{
|
||||
CALL_INFO_TRACE;
|
||||
InteractionMgr->UnregisterThumbnailDraw();
|
||||
auto callback = std::bind(&JsDragManager::EmitUnregisterThumbnailDraw, this, std::placeholders::_1);
|
||||
InteractionMgr->UnregisterThumbnailDraw(callback);
|
||||
ReleaseReference();
|
||||
}
|
||||
|
||||
void JsDragManager::ResetEnv()
|
||||
|
@ -25,9 +25,9 @@ namespace OHOS {
|
||||
namespace Msdp {
|
||||
namespace DeviceStatus {
|
||||
struct ThumbnailDrawCallback {
|
||||
std::function<void(int32_t)> startDrag;
|
||||
std::function<void(int32_t)> notice;
|
||||
std::function<void(void)> endDrag;
|
||||
std::function<void(int32_t, int32_t)> startCallback;
|
||||
std::function<void(int32_t, int32_t)> noticeCallback;
|
||||
std::function<void(int32_t)> endCallback;
|
||||
};
|
||||
|
||||
class DragManagerImpl {
|
||||
@ -39,9 +39,9 @@ public:
|
||||
int32_t GetDragTargetPid();
|
||||
int32_t StartDrag(const DragData &dragData, std::function<void(int32_t&)> callback);
|
||||
int32_t StopDrag(int32_t result);
|
||||
int32_t RegisterThumbnailDraw(std::function<void(int32_t)> startDrag,
|
||||
std::function<void(int32_t)> notice, std::function<void(void)> endDrag);
|
||||
int32_t UnregisterThumbnailDraw();
|
||||
int32_t RegisterThumbnailDraw(std::function<void(int32_t, int32_t)> startCallback,
|
||||
std::function<void(int32_t, int32_t)> noticeCallback, std::function<void(int32_t)> endCallback);
|
||||
int32_t UnregisterThumbnailDraw(std::function<void(int32_t)> callback);
|
||||
private:
|
||||
std::mutex mtx_;
|
||||
std::function<void(int32_t&)> stopCallback_;
|
||||
|
@ -45,9 +45,9 @@ public:
|
||||
int32_t StartDrag(const DragData &dragData, std::function<void(int32_t&)> callback);
|
||||
int32_t StopDrag(int32_t result);
|
||||
int32_t GetDragTargetPid();
|
||||
int32_t RegisterThumbnailDraw(std::function<void(int32_t)> startDrag,
|
||||
std::function<void(int32_t)> notice, std::function<void(void)> endDrag);
|
||||
int32_t UnregisterThumbnailDraw();
|
||||
int32_t RegisterThumbnailDraw(std::function<void(int32_t, int32_t)> startCallback,
|
||||
std::function<void(int32_t, int32_t)> noticeCallback, std::function<void(int32_t)> endCallback);
|
||||
int32_t UnregisterThumbnailDraw(std::function<void(int32_t)> callback);
|
||||
|
||||
private:
|
||||
void InitMsgHandler();
|
||||
|
@ -70,8 +70,8 @@ int32_t DragManagerImpl::StopDrag(int32_t result)
|
||||
return DeviceStatusClient::GetInstance().StopDrag(result);
|
||||
}
|
||||
|
||||
int32_t DragManagerImpl::RegisterThumbnailDraw(std::function<void(int32_t)> startDrag,
|
||||
std::function<void(int32_t)> notice, std::function<void(void)> endDrag)
|
||||
int32_t DragManagerImpl::RegisterThumbnailDraw(std::function<void(int32_t, int32_t)> startCallback,
|
||||
std::function<void(int32_t, int32_t)> noticeCallback, std::function<void(int32_t)> endCallback)
|
||||
{
|
||||
CALL_DEBUG_ENTER;
|
||||
auto ret = DeviceStatusClient::GetInstance().RegisterThumbnailDraw();
|
||||
@ -80,28 +80,32 @@ int32_t DragManagerImpl::RegisterThumbnailDraw(std::function<void(int32_t)> star
|
||||
return ret;
|
||||
}
|
||||
hasRegisterThumbnailDraw_ = true;
|
||||
thumbnailDrawCallback_.startDrag = startDrag;
|
||||
thumbnailDrawCallback_.notice = notice;
|
||||
thumbnailDrawCallback_.endDrag = endDrag;
|
||||
thumbnailDrawCallback_.startCallback = startCallback;
|
||||
thumbnailDrawCallback_.noticeCallback = noticeCallback;
|
||||
thumbnailDrawCallback_.endCallback = endCallback;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32_t DragManagerImpl::UnregisterThumbnailDraw()
|
||||
int32_t DragManagerImpl::UnregisterThumbnailDraw(std::function<void(int32_t)> callback)
|
||||
{
|
||||
CALL_DEBUG_ENTER;
|
||||
int32_t ret;
|
||||
if (!hasRegisterThumbnailDraw_) {
|
||||
FI_HILOGE("Have not registered thumbnail draw");
|
||||
ret = RET_ERR;
|
||||
callback(ret);
|
||||
return RET_ERR;
|
||||
}
|
||||
auto ret = DeviceStatusClient::GetInstance().UnregisterThumbnailDraw();
|
||||
ret = DeviceStatusClient::GetInstance().UnregisterThumbnailDraw();
|
||||
if (ret != RET_OK) {
|
||||
FI_HILOGE("Unregister thumbnail draw failed");
|
||||
return ret;
|
||||
}
|
||||
hasRegisterThumbnailDraw_ = false;
|
||||
thumbnailDrawCallback_.startDrag = nullptr;
|
||||
thumbnailDrawCallback_.notice = nullptr;
|
||||
thumbnailDrawCallback_.endDrag = nullptr;
|
||||
thumbnailDrawCallback_.startCallback = nullptr;
|
||||
thumbnailDrawCallback_.noticeCallback = nullptr;
|
||||
thumbnailDrawCallback_.endCallback = nullptr;
|
||||
callback(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -85,15 +85,15 @@ int32_t InteractionManager::StopDrag(int32_t result)
|
||||
return InteractionMgrImpl.StopDrag(result);
|
||||
}
|
||||
|
||||
int32_t InteractionManager::RegisterThumbnailDraw(std::function<void(int32_t)> startDrag,
|
||||
std::function<void(int32_t)> notice, std::function<void(void)> endDrag)
|
||||
int32_t InteractionManager::RegisterThumbnailDraw(std::function<void(int32_t, int32_t)> startCallback,
|
||||
std::function<void(int32_t, int32_t)> noticeCallback, std::function<void(int32_t)> endCallback)
|
||||
{
|
||||
return InteractionMgrImpl.RegisterThumbnailDraw(startDrag, notice, endDrag);
|
||||
return InteractionMgrImpl.RegisterThumbnailDraw(startCallback, noticeCallback, endCallback);
|
||||
}
|
||||
|
||||
int32_t InteractionManager::UnregisterThumbnailDraw()
|
||||
int32_t InteractionManager::UnregisterThumbnailDraw(std::function<void(int32_t)> callback)
|
||||
{
|
||||
return InteractionMgrImpl.UnregisterThumbnailDraw();
|
||||
return InteractionMgrImpl.UnregisterThumbnailDraw(callback);
|
||||
}
|
||||
|
||||
int32_t InteractionManager::GetDragTargetPid()
|
||||
|
@ -211,15 +211,15 @@ int32_t InteractionManagerImpl::GetDragTargetPid()
|
||||
return dragManagerImpl_.GetDragTargetPid();
|
||||
}
|
||||
|
||||
int32_t InteractionManagerImpl::RegisterThumbnailDraw(std::function<void(int32_t)> startDrag,
|
||||
std::function<void(int32_t)> notice, std::function<void(void)> endDrag)
|
||||
int32_t InteractionManagerImpl::RegisterThumbnailDraw(std::function<void(int32_t, int32_t)> startCallback,
|
||||
std::function<void(int32_t, int32_t)> noticeCallback, std::function<void(int32_t)> endCallback)
|
||||
{
|
||||
return dragManagerImpl_.RegisterThumbnailDraw(startDrag, notice, endDrag);
|
||||
return dragManagerImpl_.RegisterThumbnailDraw(startCallback, noticeCallback, endCallback);
|
||||
}
|
||||
|
||||
int32_t InteractionManagerImpl::UnregisterThumbnailDraw()
|
||||
int32_t InteractionManagerImpl::UnregisterThumbnailDraw(std::function<void(int32_t)> callback)
|
||||
{
|
||||
return dragManagerImpl_.UnregisterThumbnailDraw();
|
||||
return dragManagerImpl_.UnregisterThumbnailDraw(callback);
|
||||
}
|
||||
} // namespace DeviceStatus
|
||||
} // namespace Msdp
|
||||
|
@ -135,15 +135,15 @@ public:
|
||||
* @return 返回值如果是0表示接口调用成功,返回其他值表示接口调用失败。
|
||||
* @since 10
|
||||
*/
|
||||
int32_t RegisterThumbnailDraw(std::function<void(int32_t)> startDrag,
|
||||
std::function<void(int32_t)> notice, std::function<void(void)> endDrag);
|
||||
int32_t RegisterThumbnailDraw(std::function<void(int32_t, int32_t)> startCallback,
|
||||
std::function<void(int32_t, int32_t)> noticeCallback, std::function<void(int32_t)> endCallback);
|
||||
|
||||
/**
|
||||
* @brief 取消注册阴影托管
|
||||
* @return 返回值如果是0表示接口调用成功,返回其他值表示接口调用失败。
|
||||
* @since 10
|
||||
*/
|
||||
int32_t UnregisterThumbnailDraw();
|
||||
int32_t UnregisterThumbnailDraw(std::function<void(int32_t)> callback);
|
||||
|
||||
private:
|
||||
InteractionManager() = default;
|
||||
|
Loading…
x
Reference in New Issue
Block a user