Skip to content

Commit fa8dce1

Browse files
authored
Fix GG IPC sample for earlier breaking API change (#466)
1 parent dd610cd commit fa8dce1

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

samples/greengrass/ipc/main.cpp

+9-5
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ int main(int argc, char *argv[])
9696
*/
9797
class SubscribeStreamHandler : public SubscribeToIoTCoreStreamHandler
9898
{
99+
public:
100+
virtual ~SubscribeStreamHandler() {}
101+
102+
private:
99103
void OnStreamEvent(IoTCoreMessage *response) override
100104
{
101105
auto message = response->GetMessage();
@@ -111,21 +115,21 @@ int main(int argc, char *argv[])
111115
};
112116
};
113117

114-
SubscribeStreamHandler streamHandler;
118+
auto streamHandler = MakeShared<SubscribeStreamHandler>(DefaultAllocator());
115119
auto subscribeOperation = client.NewSubscribeToIoTCore(streamHandler);
116120
SubscribeToIoTCoreRequest subscribeRequest;
117121
subscribeRequest.SetQos(QOS_AT_LEAST_ONCE);
118122
subscribeRequest.SetTopicName(topic);
119123

120124
fprintf(stdout, "Attempting to subscribe to %s topic\n", topic.c_str());
121-
auto requestStatus = subscribeOperation.Activate(subscribeRequest).get();
125+
auto requestStatus = subscribeOperation->Activate(subscribeRequest).get();
122126
if (!requestStatus)
123127
{
124128
fprintf(stderr, "Failed to send subscription request to %s topic\n", topic.c_str());
125129
exit(-1);
126130
}
127131

128-
auto subscribeResultFuture = subscribeOperation.GetResult();
132+
auto subscribeResultFuture = subscribeOperation->GetResult();
129133
/*
130134
// To avoid throwing exceptions, wait on the result for a specified timeout:
131135
if (subscribeResultFuture.wait_for(std::chrono::seconds(10)) == std::future_status::timeout)
@@ -172,7 +176,7 @@ int main(int argc, char *argv[])
172176
publishRequest.SetQos(QOS_AT_LEAST_ONCE);
173177

174178
fprintf(stdout, "Attempting to publish to %s topic\n", topic.c_str());
175-
requestStatus = publishOperation.Activate(publishRequest).get();
179+
requestStatus = publishOperation->Activate(publishRequest).get();
176180
if (!requestStatus)
177181
{
178182
fprintf(
@@ -183,7 +187,7 @@ int main(int argc, char *argv[])
183187
exit(-1);
184188
}
185189

186-
auto publishResultFuture = publishOperation.GetResult();
190+
auto publishResultFuture = publishOperation->GetResult();
187191
/*
188192
// To avoid throwing exceptions, wait on the result for a specified timeout:
189193
if (publishResultFuture.wait_for(std::chrono::seconds(10)) == std::future_status::timeout)

0 commit comments

Comments
 (0)