fix host
This commit is contained in:
parent
bc79dfccd3
commit
740e35833b
@ -296,34 +296,31 @@ handle_event({call, From}, {attach_channel, _}, _, State = #state{uuid = UUID, c
|
|||||||
{keep_state, State, [{reply, From, {error, <<"channel existed">>}}]};
|
{keep_state, State, [{reply, From, {error, <<"channel existed">>}}]};
|
||||||
|
|
||||||
%% 重新加载设备信息
|
%% 重新加载设备信息
|
||||||
handle_event({call, From}, {reload_device, DeviceUUID}, _, State) ->
|
handle_event({call, From}, {reload_device, DeviceUUID}, _, State = #state{device_map = DeviceMap}) ->
|
||||||
case iot_device_sup:ensured_device_started(DeviceUUID) of
|
case maps:find(DeviceUUID, DeviceMap) of
|
||||||
{ok, DevicePid} ->
|
error ->
|
||||||
iot_device:reload(DevicePid),
|
{keep_state, State, [{reply, From, {error, <<"device not found">>}}]};
|
||||||
{keep_state, State, [{reply, From, ok}]};
|
{ok, Device} ->
|
||||||
{error, Reason} ->
|
case iot_device:reload(Device) of
|
||||||
{keep_state, State, [{reply, From, {error, Reason}}]}
|
error ->
|
||||||
|
{keep_state, State#state{device_map = maps:remove(Device, DeviceMap)}, [{reply, From, {error, <<"reload device error">>}}]};
|
||||||
|
{ok, NDevice} ->
|
||||||
|
{keep_state, State#state{device_map = maps:put(DeviceUUID, NDevice, DeviceMap)}, [{reply, From, ok}]}
|
||||||
|
end
|
||||||
end;
|
end;
|
||||||
|
|
||||||
%% 删除设备
|
%% 删除设备
|
||||||
handle_event({call, From}, {delete_device, DeviceUUID}, _, State) ->
|
handle_event({call, From}, {delete_device, DeviceUUID}, _, State = #state{device_map = DeviceMap}) ->
|
||||||
case iot_device:get_pid(DeviceUUID) of
|
{keep_state, State#state{device_map = maps:remove(DeviceUUID, DeviceMap)}, [{reply, From, ok}]};
|
||||||
undefined ->
|
|
||||||
ok;
|
|
||||||
DevicePid when is_pid(DevicePid) ->
|
|
||||||
iot_device_sup:delete_device(DeviceUUID)
|
|
||||||
end,
|
|
||||||
{keep_state, State, [{reply, From, ok}]};
|
|
||||||
|
|
||||||
%% 激活设备
|
%% 激活设备
|
||||||
handle_event({call, From}, {activate_device, DeviceUUID, Auth}, _, State) ->
|
handle_event({call, From}, {activate_device, DeviceUUID, Auth}, _, State = #state{device_map = DeviceMap}) ->
|
||||||
case iot_device_sup:ensured_device_started(DeviceUUID) of
|
case maps:find(DeviceUUID, DeviceMap) of
|
||||||
{ok, DevicePid} ->
|
error ->
|
||||||
iot_device:auth(DevicePid, Auth),
|
{keep_state, State, [{reply, From, {error, <<"device not found">>}}]};
|
||||||
|
{ok, Device} ->
|
||||||
{keep_state, State, [{reply, From, ok}]};
|
NDevice = iot_device:auth(Device, Auth),
|
||||||
{error, Reason} ->
|
{keep_state, State#state{device_map = maps:put(DeviceUUID, NDevice, DeviceMap)}, [{reply, From, ok}]}
|
||||||
{keep_state, State, [{reply, From, {error, Reason}}]}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
%% 需要将消息转换成json格式然后再处理, 需要在host进程里面处理, 数据带有props,服务端暂时未用到
|
%% 需要将消息转换成json格式然后再处理, 需要在host进程里面处理, 数据带有props,服务端暂时未用到
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user