diff options
Diffstat (limited to 'components/dlink_bt/src/dlink_bt_rpc.erl')
-rw-r--r-- | components/dlink_bt/src/dlink_bt_rpc.erl | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/components/dlink_bt/src/dlink_bt_rpc.erl b/components/dlink_bt/src/dlink_bt_rpc.erl index 3e16ab0..7edc948 100644 --- a/components/dlink_bt/src/dlink_bt_rpc.erl +++ b/components/dlink_bt/src/dlink_bt_rpc.erl @@ -31,7 +31,6 @@ disconnect_data_link/2, send_data/5]). - -include_lib("lager/include/log.hrl"). -include_lib("rvi_common/include/rvi_common.hrl"). -include_lib("rvi_common/include/rvi_dlink.hrl"). @@ -264,8 +263,8 @@ announce_local_service_(CompSpec, [ { ?DLINK_ARG_CMD, ?DLINK_CMD_SERVICE_ANNOUNCE }, { ?DLINK_ARG_TRANSACTION_ID, 3}, - { ?DLINK_ARG_STATUS, atom_to_list(Status) }, - { ?DLINK_ARG_STATUS, { array, [Service]} }, + { ?DLINK_ARG_STATUS, Status }, + { ?DLINK_ARG_SERVICES, { array, [Service]} }, { ?DLINK_ARG_SIGNATURE, "" } ] })), @@ -300,7 +299,7 @@ process_announce(FromPid, RemoteBTAddr, RemoteChannel, TransactionID, - "available", + "av", Services, Signature, CompSpec) -> ?debug("dlink_bt:service_announce(available): Address: ~p-~p", [ RemoteBTAddr, RemoteChannel ]), @@ -318,7 +317,7 @@ process_announce(FromPid, RemoteBTAddr, RemoteChannel, TransactionID, - "unavailable", + "un", Services, Signature , CompSpec) -> @@ -474,23 +473,31 @@ handle_socket(FromPid, PeerBTAddr, PeerChannel, data, handle_socket(FromPid, SetupBTAddr, SetupChannel, closed, CompSpec) -> ?info("dlink_bt:closed(): SetupAddress: {~p, ~p}", [ SetupBTAddr, SetupChannel ]), - NetworkAddress = SetupBTAddr ++ "-" ++ integer_to_list(SetupChannel), + NetworkAddress = bt_address_to_string(SetupBTAddr) ++ "-" ++ integer_to_list(SetupChannel), %% Get all service records associated with the given connection LostSvcNameList = get_services_by_connection(FromPid), + ?info("Will delete services: ~p~n", [ LostSvcNameList]), delete_connection(FromPid), - %% Check if this was our last connection supchanneling each given service. + %% Check if this was our last connection for each given service. lists:map( fun(SvcName) -> case get_connections_by_service(SvcName) of [] -> + ?info("No connection"), service_discovery_rpc: unregister_services(CompSpec, [SvcName], ?MODULE); - _ -> ok + _ -> + ?info("connection"), + service_discovery_rpc: + unregister_services(CompSpec, + [SvcName], + ?MODULE) + end end, LostSvcNameList), @@ -510,6 +517,7 @@ handle_socket(FromPid, SetupBTAddr, SetupChannel, closed, CompSpec) -> BTAddr, Channel, CompSpec); false -> ok end, + ok; handle_socket(FromPid, SetupBTAddr, SetupChannel, connected, _ExtraArgs) -> |