Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dereg individual #226

Merged
merged 31 commits into from
Apr 17, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
b4a2912
interface for tokens
forwardpointer Apr 12, 2023
40fb085
register callback interface change
forwardpointer Apr 12, 2023
715b84b
callback storage definition
forwardpointer Apr 12, 2023
984a16b
tmp
forwardpointer Apr 12, 2023
b265323
token definitions
forwardpointer Apr 12, 2023
b7b7b55
register device callbacks
forwardpointer Apr 12, 2023
bcfcd51
don't add nullptrs to the device callbacks; CallbacksPresent
forwardpointer Apr 12, 2023
ae802f2
register session callbacks
forwardpointer Apr 13, 2023
e493eeb
dereg session callbacks
forwardpointer Apr 13, 2023
9c0a2a7
deregister event callback
forwardpointer Apr 13, 2023
7e32943
dispatch callbacks
forwardpointer Apr 13, 2023
ad91190
Formatting
forwardpointer Apr 13, 2023
94a88be
the struct holding the callbacks needs to hold the callbacks as share…
forwardpointer Apr 14, 2023
de022ef
fix compiler erros for UwbConnector
forwardpointer Apr 14, 2023
c368040
pass the args by reference
forwardpointer Apr 14, 2023
2aa184e
we need to grab the lock prior to invoking callbacks
forwardpointer Apr 14, 2023
6067018
make everything compile
forwardpointer Apr 14, 2023
7976d61
Merge branch 'develop' into dereg_individual
forwardpointer Apr 14, 2023
75b6230
the struct of callbacks should hold weak pointers because they are no…
forwardpointer Apr 14, 2023
519be51
UwbConnector.cxx works with the new interface
forwardpointer Apr 14, 2023
211198a
make UwbDevice and UwbSession work with the new interface
forwardpointer Apr 14, 2023
a4320a8
addressed some nits
forwardpointer Apr 14, 2023
60d56ed
return true when it is able to cast the token correctly
forwardpointer Apr 14, 2023
6d7df6b
use a simple OR instead of a ternary
forwardpointer Apr 14, 2023
bfe5989
rename all cb and cbs to their respective full names
forwardpointer Apr 14, 2023
1aaf8e0
update docs
forwardpointer Apr 14, 2023
a2691a9
Merge branch 'develop' into dereg_individual
forwardpointer Apr 14, 2023
8dbed35
actually start and stop the notification listener as appropriate
forwardpointer Apr 15, 2023
9171a22
only start listening if there are now callbacks
forwardpointer Apr 15, 2023
d0033fc
forward args
forwardpointer Apr 17, 2023
4951c09
Merge branch 'develop' into dereg_individual
forwardpointer Apr 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
register callback interface change
  • Loading branch information
forwardpointer committed Apr 12, 2023
commit 40fb085e9a447d13ca6570d7e9a9683b7e847e26
2 changes: 1 addition & 1 deletion lib/uwb/include/uwb/UwbRegisteredCallbacks.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ struct UwbRegisteredSessionEventCallbackTokens
* @brief structure containing the tokens corresponding to the callbacks you register
*
*/
struct UwbRegisteredDeviceEventCallbackToken
struct UwbRegisteredDeviceEventCallbackTokens
{
std::weak_ptr<RegisteredCallbackToken> OnStatusChangedToken;
std::weak_ptr<RegisteredCallbackToken> OnDeviceStatusChangedToken;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ struct IUwbDeviceDdiConnector : public IUwbDeviceDdi
* @brief Sets the callbacks for the UwbDevice that owns this UwbConnector
*
* @param callbacks
* @return std::weak_ptr<::uwb::RegisteredCallbackToken> You can pass this pointer into DeregisterEventCallback to deregister this event callback
* @return ::uwb::UwbRegisteredDeviceEventCallbackTokens You can pass the pointers into DeregisterEventCallback to deregister the event callbacks
*/
virtual std::weak_ptr<::uwb::RegisteredCallbackToken> RegisterDeviceEventCallbacks(std::weak_ptr<::uwb::UwbRegisteredDeviceEventCallbacks>) = 0;
virtual ::uwb::UwbRegisteredDeviceEventCallbackTokens RegisterDeviceEventCallbacks(std::weak_ptr<::uwb::UwbRegisteredDeviceEventCallbacks> callbacks) = 0;
};

} // namespace windows::devices::uwb
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ struct IUwbSessionDdiConnector : public IUwbSessionDdi
*
* @param sessionId
* @param callbacks
* @return std::weak_ptr<::uwb::RegisteredCallbackToken> You can pass this pointer into DeregisterEventCallback to deregister this event callback
* @return ::uwb::UwbRegisteredSessionEventCallbackTokens You can pass the pointers into DeregisterEventCallback to deregister the event callbacks
*/
virtual std::weak_ptr<::uwb::RegisteredCallbackToken>
virtual ::uwb::UwbRegisteredSessionEventCallbackTokens
RegisterSessionEventCallbacks(uint32_t sessionId, std::weak_ptr<::uwb::UwbRegisteredSessionEventCallbacks> callbacks) = 0;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ namespace uwb
{
/**
* @brief The following are opaque class declarations that are used in this file
*
*
*/
class RegisteredSessionCallbackToken;
class RegisteredDeviceCallbackToken;
Expand Down Expand Up @@ -68,23 +68,25 @@ public:
// IUwbDeviceDdiConnector
/**
* @brief Sets the callbacks for the UwbDevice that owns this UwbConnector
* You can pass in a partially filled in struct, in which case this function returns a partially filled in struct of tokens corresponding to those callbacks.
*
* @param callbacks
* @return std::weak_ptr<::uwb::RegisteredCallbackToken> You can pass this pointer into DeregisterEventCallback to deregister this event callback
* @return ::uwb::UwbRegisteredDeviceEventCallbackTokens You can pass the pointers into DeregisterEventCallback to deregister the event callbacks
*/
virtual std::weak_ptr<::uwb::RegisteredCallbackToken>
virtual ::uwb::UwbRegisteredDeviceEventCallbackTokens
forwardpointer marked this conversation as resolved.
Show resolved Hide resolved
RegisterDeviceEventCallbacks(std::weak_ptr<::uwb::UwbRegisteredDeviceEventCallbacks> callbacks) override;

public:
// IUwbSessionDdiConnector
/**
* @brief Registers the callbacks for a particular session
* @brief Registers the callbacks for a particular session.
* You can pass in a partially filled in struct, in which case this function returns a partially filled in struct of tokens corresponding to those callbacks.
*
* @param sessionId
* @param callbacks
* @return std::weak_ptr<::uwb::RegisteredCallbackToken> You can pass this pointer into DeregisterEventCallback to deregister this event callback
* @return ::uwb::UwbRegisteredSessionEventCallbackTokens You can pass the pointers into DeregisterEventCallback to deregister the event callbacks
*/
virtual std::weak_ptr<::uwb::RegisteredCallbackToken>
virtual ::uwb::UwbRegisteredSessionEventCallbackTokens
RegisterSessionEventCallbacks(uint32_t sessionId, std::weak_ptr<::uwb::UwbRegisteredSessionEventCallbacks> callbacks) override;

public:
Expand Down Expand Up @@ -230,7 +232,7 @@ private:
*/
std::vector<std::shared_ptr<::uwb::UwbRegisteredDeviceEventCallbacks>>
GetResolvedDeviceEventCallbacks();

private:
std::string m_deviceName{};
std::jthread m_notificationThread;
Expand Down