Skip to content

Commit d137c78

Browse files
committed
more documentation
1 parent 9891c93 commit d137c78

File tree

9 files changed

+211
-173
lines changed

9 files changed

+211
-173
lines changed

include/up-cpp/client/usubscription/v3/RequestBuilder.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ struct USubscriptionOptions {
4242
/// This struct facilitates the construction of requests based on
4343
/// `USubscriptionOptions`, providing methods to build different requests.
4444
struct RequestBuilder {
45-
4645
/// @brief Constructs a RequestBuilder with the given subscription options.
4746
///
4847
/// @param options Subscription options to configure the requests. Defaults
@@ -91,15 +90,17 @@ struct RequestBuilder {
9190
static FetchSubscribersRequest buildFetchSubscribersRequest(
9291
const v1::UUri& topic);
9392

94-
/// @brief Build notifications request for a given topic. Subscription change
95-
///notifications MUST use topic SubscriptionsChange with resource id 0x8000,
96-
///as per the protobuf definition.
93+
/// @brief Build notifications request for a given topic. Subscription
94+
/// change
95+
/// notifications MUST use topic SubscriptionsChange with resource id
96+
/// 0x8000, as per the protobuf definition.
9797
///
9898
/// @param topic The `v1::UUri` representing the topic to (un)register
99-
///for/from.
99+
/// for/from.
100100
///
101101
/// @return An `NotificationsRequest` configured for the specified topic.
102-
static NotificationsRequest buildNotificationsRequest(const v1::UUri& topic);
102+
static NotificationsRequest buildNotificationsRequest(
103+
const v1::UUri& topic);
103104

104105
private:
105106
USubscriptionOptions options_; ///< Options used to configure the requests.

include/up-cpp/client/usubscription/v3/RpcClientUSubscription.h

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,7 @@ namespace uprotocol::core::usubscription::v3 {
4646
using v3::SubscriptionRequest;
4747
using v3::UnsubscribeRequest;
4848

49-
/// @brief Interface for uEntities to create subscriptions.
50-
///
51-
/// Like all L3 client APIs, the RpcClientUSubscription is a wrapper on top of
52-
/// the L2 Communication APIs and USubscription service.
49+
/// @brief Client which implements the USubscription interface
5350
struct RpcClientUSubscription : USubscription {
5451
using RpcClientUSubscriptionOrStatus =
5552
utils::Expected<std::unique_ptr<RpcClientUSubscription>, v1::UStatus>;
@@ -59,54 +56,69 @@ struct RpcClientUSubscription : USubscription {
5956
template <typename Response>
6057
Response invokeResponse(communication::RpcClient rpc_client);
6158

62-
/// @brief Subscribe to the topic
59+
/// @brief Subscribes from a given topic
6360
///
61+
/// @param subscription_request The request object containing the topic to
62+
/// subscribe to
63+
/// @return Returns a SubscriptionResponse on success and a UStatus else
6464
utils::Expected<SubscriptionResponse, v1::UStatus> subscribe(
6565
const SubscriptionRequest& subscription_request) override;
6666

67-
/// @brief Unsubscribe from the topic
67+
/// @brief Unsubscribes from a given topic
6868
///
69+
/// @param unsubscribe_request The request object containing the topic to
70+
/// unsubscribe from
71+
/// @return Returns an UnsubscribeResponse on success and a UStatus else
6972
utils::Expected<UnsubscribeResponse, v1::UStatus> unsubscribe(
7073
const UnsubscribeRequest& unsubscribe_request) override;
7174

72-
/// @brief Fetch all subscriptions either by topic or subscriber
75+
/// @brief Fetches the list of topics the client is subscribed to
7376
///
77+
/// @param fetch_subscriptions_request The request object
78+
/// @return Returns a FetchSubscriptionsResponse on success and a UStatus
79+
/// else
7480
utils::Expected<FetchSubscriptionsResponse, v1::UStatus>
7581
fetch_subscriptions(
7682
const FetchSubscriptionsRequest& fetch_subscriptions_request) override;
7783

78-
/// @brief Fetch all subscribers
84+
/// @brief Fetches the list of subscribers for a given topic
7985
///
86+
/// @param fetch_subscribers_request The request object containing the topic
87+
/// for which the subscribers are to be fetched
88+
/// @return Returns a FetchSubscribersResponse on success and a UStatus else
8089
utils::Expected<FetchSubscribersResponse, v1::UStatus> fetch_subscribers(
8190
const FetchSubscribersRequest& fetch_subscribers_request) override;
8291

83-
/// @brief Register for notifications
92+
/// @brief Registers to receive notifications
8493
///
94+
/// @param register_notifications_request The request object containing
95+
/// the details to register for notifications
96+
/// @return Returns a NotificationResponse on success and a UStatus else
8597
utils::Expected<NotificationsResponse, v1::UStatus>
8698
register_for_notifications(
8799
const NotificationsRequest& register_notifications_request) override;
88100

89-
/// @brief Unregister for notifications
101+
/// @brief Unregisters from receiving notifications.
90102
///
103+
/// @param unregister_notifications_request The request object containing
104+
/// the details needed to stop receiving notifications.
105+
/// @return Returns a NotificationResponse on success and a UStatus else
91106
utils::Expected<NotificationsResponse, v1::UStatus>
92107
unregister_for_notifications(
93108
const NotificationsRequest& unregister_notifications_request) override;
94109

95110
/// @brief Constructor
96111
///
97-
/// @param transport Transport to register with.
112+
/// @param transport Transport used to send messages
98113
explicit RpcClientUSubscription(
99114
std::shared_ptr<transport::UTransport> transport)
100115
: transport_(std::move(transport)) {}
101116

102-
/// @brief Destructor
103117
~RpcClientUSubscription() override = default;
104118

105119
private:
106-
// Transport
107120
std::shared_ptr<transport::UTransport> transport_;
108121

109-
// URI info about the uSubscription service
110122
USubscriptionUUriBuilder uuri_builder_;
111123
};
112124

include/up-cpp/client/usubscription/v3/USubscription.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919

2020
namespace uprotocol::core::usubscription::v3 {
2121

22-
/**
23-
*
24-
*/
22+
/// @brief Interface for uEntities to create subscriptions.
23+
///
24+
/// Like all L3 client APIs, the RpcClientUSubscription is a wrapper on top of
25+
/// the L2 Communication APIs and USubscription service.
2526
struct USubscription {
26-
2727
template <typename R>
2828
using ResponseOrStatus = utils::Expected<R, v1::UStatus>;
2929

@@ -45,7 +45,7 @@ struct USubscription {
4545
virtual ResponseOrStatus<UnsubscribeResponse> unsubscribe(
4646
const UnsubscribeRequest& unsubscribe_request) = 0;
4747

48-
/// @brief fetches all topic the client is subscribed to from the backend
48+
/// @brief fetches all topics the client is subscribed to from the backend
4949
///
5050
/// @param fetch_subscriptions_request
5151
/// @return FetchSubscriptionsResponse on success and UStatus else
@@ -69,7 +69,8 @@ struct USubscription {
6969

7070
/// @brief fetches all subscribers for a given topic from the backend
7171
///
72-
/// @param fetch_subscriptions_request containing the topic for which the subscribers are fetched
72+
/// @param fetch_subscriptions_request containing the topic for which the
73+
/// subscribers are fetched
7374
/// @return FetchSubscriptionsResponse on success and UStatus else
7475
virtual ResponseOrStatus<FetchSubscribersResponse> fetch_subscribers(
7576
const FetchSubscribersRequest& fetch_subscribers_request) = 0;

include/up-cpp/communication/RpcClient.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ struct RpcClient {
185185
return ResponseOrStatus<T>(
186186
UnexpectedStatus(message_or_status.error()));
187187
}
188-
188+
189189
auto response_or_status = utils::ProtoConverter::extractFromProtobuf<T>(
190190
message_or_status.value());
191191

include/up-cpp/utils/ProtoConverter.h

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ using TOrStatus = utils::Expected<T, v1::UStatus>;
1818
using UnexpectedStatus = utils::Unexpected<v1::UStatus>;
1919
using PayloadOrStatus =
2020
utils::Expected<datamodel::builder::Payload, v1::UStatus>;
21+
using core::usubscription::v3::FetchSubscribersRequest;
22+
using core::usubscription::v3::FetchSubscriptionsRequest;
23+
using core::usubscription::v3::NotificationsRequest;
2124
using uprotocol::core::usubscription::v3::SubscribeAttributes;
2225
using uprotocol::core::usubscription::v3::SubscriberInfo;
2326
using uprotocol::core::usubscription::v3::SubscriptionRequest;
2427
using uprotocol::core::usubscription::v3::UnsubscribeRequest;
25-
using core::usubscription::v3::FetchSubscriptionsRequest;
26-
using core::usubscription::v3::FetchSubscribersRequest;
27-
using core::usubscription::v3::NotificationsRequest;
2828

2929
struct ProtoConverter {
3030
/// @brief Converts std::chrono::time_point to google::protobuf::Timestamp
@@ -71,25 +71,31 @@ struct ProtoConverter {
7171
///
7272
/// @param topic the UUri of the topic to fetch subscriptions for
7373
/// @return the built FetchSubscriptionsRequest
74-
static FetchSubscriptionsRequest BuildFetchSubscriptionsRequest(const v1::UUri& topic);
74+
static FetchSubscriptionsRequest BuildFetchSubscriptionsRequest(
75+
const v1::UUri& topic);
7576

76-
/// @brief Builds a FetchSubscriptionsRequest from the given subscriber information
77+
/// @brief Builds a FetchSubscriptionsRequest from the given subscriber
78+
/// information
7779
///
78-
/// @param subscriber the SubscriberInfo containing details of the subscriber
80+
/// @param subscriber the SubscriberInfo containing details of the
81+
/// subscriber
7982
/// @return the built FetchSubscriptionsRequest
80-
static FetchSubscriptionsRequest BuildFetchSubscriptionsRequest(const SubscriberInfo& subscriber);
83+
static FetchSubscriptionsRequest BuildFetchSubscriptionsRequest(
84+
const SubscriberInfo& subscriber);
8185

8286
/// @brief Builds a FetchSubscribersRequest from the given topic
8387
///
8488
/// @param topic the UUri of the topic to fetch subscribers for
8589
/// @return the built FetchSubscribersRequest
86-
static FetchSubscribersRequest BuildFetchSubscribersRequest(const v1::UUri& topic);
90+
static FetchSubscribersRequest BuildFetchSubscribersRequest(
91+
const v1::UUri& topic);
8792

8893
/// @brief Builds a NotificationsRequest from the given topic
8994
///
9095
/// @param topic the UUri of the topic to build a notification request for
9196
/// @return the built NotificationsRequest
92-
static NotificationsRequest BuildNotificationsRequest(const v1::UUri& topic);
97+
static NotificationsRequest BuildNotificationsRequest(
98+
const v1::UUri& topic);
9399

94100
/// @brief Deserializes a protobuf message from a given payload.
95101
///
@@ -144,8 +150,7 @@ struct ProtoConverter {
144150
UPayloadFormat_INT_MAX_SENTINEL_DO_NOT_USE_: {
145151
v1::UStatus status;
146152
status.set_code(v1::UCode::UNIMPLEMENTED);
147-
status.set_message(
148-
"Unimplemented payload format.");
153+
status.set_message("Unimplemented payload format.");
149154
return TOrStatus<T>(UnexpectedStatus(status));
150155
}
151156
default: {

src/utils/ProtoConverter.cpp

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -84,32 +84,36 @@ UnsubscribeRequest ProtoConverter::BuildUnSubscribeRequest(
8484
return unsubscribe_request;
8585
}
8686

87-
FetchSubscriptionsRequest ProtoConverter::BuildFetchSubscriptionsRequest(const v1::UUri& topic) {
88-
FetchSubscriptionsRequest fetch_subscriptions_request;
89-
*fetch_subscriptions_request.mutable_topic() = topic;
87+
FetchSubscriptionsRequest ProtoConverter::BuildFetchSubscriptionsRequest(
88+
const v1::UUri& topic) {
89+
FetchSubscriptionsRequest fetch_subscriptions_request;
90+
*fetch_subscriptions_request.mutable_topic() = topic;
9091

91-
return fetch_subscriptions_request;
92+
return fetch_subscriptions_request;
9293
}
9394

94-
FetchSubscriptionsRequest ProtoConverter::BuildFetchSubscriptionsRequest(const SubscriberInfo& subscriber) {
95-
FetchSubscriptionsRequest fetch_subscriptions_request;
96-
*fetch_subscriptions_request.mutable_subscriber() = subscriber;
95+
FetchSubscriptionsRequest ProtoConverter::BuildFetchSubscriptionsRequest(
96+
const SubscriberInfo& subscriber) {
97+
FetchSubscriptionsRequest fetch_subscriptions_request;
98+
*fetch_subscriptions_request.mutable_subscriber() = subscriber;
9799

98-
return fetch_subscriptions_request;
100+
return fetch_subscriptions_request;
99101
}
100102

101-
FetchSubscribersRequest ProtoConverter::BuildFetchSubscribersRequest(const v1::UUri& topic) {
102-
FetchSubscribersRequest fetch_subscribers_request;
103-
*fetch_subscribers_request.mutable_topic() = topic;
103+
FetchSubscribersRequest ProtoConverter::BuildFetchSubscribersRequest(
104+
const v1::UUri& topic) {
105+
FetchSubscribersRequest fetch_subscribers_request;
106+
*fetch_subscribers_request.mutable_topic() = topic;
104107

105-
return fetch_subscribers_request;
108+
return fetch_subscribers_request;
106109
}
107110

108-
NotificationsRequest ProtoConverter::BuildNotificationsRequest(const v1::UUri& topic) {
109-
NotificationsRequest notifications_request;
110-
*notifications_request.mutable_topic() = topic;
111+
NotificationsRequest ProtoConverter::BuildNotificationsRequest(
112+
const v1::UUri& topic) {
113+
NotificationsRequest notifications_request;
114+
*notifications_request.mutable_topic() = topic;
111115

112-
return notifications_request;
116+
return notifications_request;
113117
}
114118

115119
} // namespace uprotocol::utils

0 commit comments

Comments
 (0)