rdiscord_sdk 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +13 -0
  3. data/.vscode/c_cpp_properties.json +24 -0
  4. data/.vscode/settings.json +102 -0
  5. data/Gemfile +11 -0
  6. data/Gemfile.lock +46 -0
  7. data/INTERNALS.md +0 -0
  8. data/LICENSE +674 -0
  9. data/README.md +187 -0
  10. data/Rakefile +17 -0
  11. data/bin/console +15 -0
  12. data/bin/setup +8 -0
  13. data/ext/rdiscord_sdk/activity.cpp +297 -0
  14. data/ext/rdiscord_sdk/activity.h +17 -0
  15. data/ext/rdiscord_sdk/common.cpp +65 -0
  16. data/ext/rdiscord_sdk/common.h +88 -0
  17. data/ext/rdiscord_sdk/extconf.rb +54 -0
  18. data/ext/rdiscord_sdk/gem_activity_manager.cpp +273 -0
  19. data/ext/rdiscord_sdk/gem_activity_manager.h +8 -0
  20. data/ext/rdiscord_sdk/gem_user_manager.cpp +114 -0
  21. data/ext/rdiscord_sdk/gem_user_manager.h +8 -0
  22. data/ext/rdiscord_sdk/rdiscord_sdk.cpp +77 -0
  23. data/ext/rdiscord_sdk/rdiscord_sdk.h +17 -0
  24. data/ext/rdiscord_sdk/user.cpp +98 -0
  25. data/ext/rdiscord_sdk/user.h +19 -0
  26. data/lib/rdiscord_sdk/enums.rb +162 -0
  27. data/lib/rdiscord_sdk/rdiscord_sdk.so +0 -0
  28. data/lib/rdiscord_sdk/version.rb +16 -0
  29. data/lib/rdiscord_sdk.rb +3 -0
  30. data/rdiscord_sdk.gemspec +34 -0
  31. data/third-party/include/achievement_manager.cpp +98 -0
  32. data/third-party/include/achievement_manager.h +34 -0
  33. data/third-party/include/activity_manager.cpp +177 -0
  34. data/third-party/include/activity_manager.h +42 -0
  35. data/third-party/include/application_manager.cpp +78 -0
  36. data/third-party/include/application_manager.h +30 -0
  37. data/third-party/include/core.cpp +182 -0
  38. data/third-party/include/core.h +64 -0
  39. data/third-party/include/discord.h +16 -0
  40. data/third-party/include/event.h +59 -0
  41. data/third-party/include/ffi.h +942 -0
  42. data/third-party/include/image_manager.cpp +57 -0
  43. data/third-party/include/image_manager.h +28 -0
  44. data/third-party/include/lobby_manager.cpp +547 -0
  45. data/third-party/include/lobby_manager.h +88 -0
  46. data/third-party/include/network_manager.cpp +103 -0
  47. data/third-party/include/network_manager.h +63 -0
  48. data/third-party/include/overlay_manager.cpp +112 -0
  49. data/third-party/include/overlay_manager.h +33 -0
  50. data/third-party/include/relationship_manager.cpp +90 -0
  51. data/third-party/include/relationship_manager.h +32 -0
  52. data/third-party/include/storage_manager.cpp +158 -0
  53. data/third-party/include/storage_manager.h +46 -0
  54. data/third-party/include/store_manager.cpp +160 -0
  55. data/third-party/include/store_manager.h +38 -0
  56. data/third-party/include/types.cpp +769 -0
  57. data/third-party/include/types.h +492 -0
  58. data/third-party/include/user_manager.cpp +80 -0
  59. data/third-party/include/user_manager.h +31 -0
  60. data/third-party/include/voice_manager.cpp +124 -0
  61. data/third-party/include/voice_manager.h +37 -0
  62. data/third-party/lib/x86/discord_game_sdk.dll +0 -0
  63. data/third-party/lib/x86/discord_game_sdk.dll.lib +0 -0
  64. data/third-party/lib/x86_64/discord_game_sdk.bundle +0 -0
  65. data/third-party/lib/x86_64/discord_game_sdk.dll +0 -0
  66. data/third-party/lib/x86_64/discord_game_sdk.dll.lib +0 -0
  67. data/third-party/lib/x86_64/discord_game_sdk.dylib +0 -0
  68. data/third-party/lib/x86_64/discord_game_sdk.so +0 -0
  69. metadata +114 -0
@@ -0,0 +1,769 @@
1
+ #if !defined(_CRT_SECURE_NO_WARNINGS)
2
+ #define _CRT_SECURE_NO_WARNINGS
3
+ #endif
4
+
5
+ #include "types.h"
6
+
7
+ #include <cstring>
8
+ #include <memory>
9
+
10
+ namespace discord {
11
+
12
+ void User::SetId(UserId id)
13
+ {
14
+ internal_.id = id;
15
+ }
16
+
17
+ UserId User::GetId() const
18
+ {
19
+ return internal_.id;
20
+ }
21
+
22
+ void User::SetUsername(char const* username)
23
+ {
24
+ strncpy(internal_.username, username, 256);
25
+ internal_.username[256 - 1] = '\0';
26
+ }
27
+
28
+ char const* User::GetUsername() const
29
+ {
30
+ return internal_.username;
31
+ }
32
+
33
+ void User::SetDiscriminator(char const* discriminator)
34
+ {
35
+ strncpy(internal_.discriminator, discriminator, 8);
36
+ internal_.discriminator[8 - 1] = '\0';
37
+ }
38
+
39
+ char const* User::GetDiscriminator() const
40
+ {
41
+ return internal_.discriminator;
42
+ }
43
+
44
+ void User::SetAvatar(char const* avatar)
45
+ {
46
+ strncpy(internal_.avatar, avatar, 128);
47
+ internal_.avatar[128 - 1] = '\0';
48
+ }
49
+
50
+ char const* User::GetAvatar() const
51
+ {
52
+ return internal_.avatar;
53
+ }
54
+
55
+ void User::SetBot(bool bot)
56
+ {
57
+ internal_.bot = bot;
58
+ }
59
+
60
+ bool User::GetBot() const
61
+ {
62
+ return internal_.bot != 0;
63
+ }
64
+
65
+ void OAuth2Token::SetAccessToken(char const* accessToken)
66
+ {
67
+ strncpy(internal_.access_token, accessToken, 128);
68
+ internal_.access_token[128 - 1] = '\0';
69
+ }
70
+
71
+ char const* OAuth2Token::GetAccessToken() const
72
+ {
73
+ return internal_.access_token;
74
+ }
75
+
76
+ void OAuth2Token::SetScopes(char const* scopes)
77
+ {
78
+ strncpy(internal_.scopes, scopes, 1024);
79
+ internal_.scopes[1024 - 1] = '\0';
80
+ }
81
+
82
+ char const* OAuth2Token::GetScopes() const
83
+ {
84
+ return internal_.scopes;
85
+ }
86
+
87
+ void OAuth2Token::SetExpires(Timestamp expires)
88
+ {
89
+ internal_.expires = expires;
90
+ }
91
+
92
+ Timestamp OAuth2Token::GetExpires() const
93
+ {
94
+ return internal_.expires;
95
+ }
96
+
97
+ void ImageHandle::SetType(ImageType type)
98
+ {
99
+ internal_.type = static_cast<EDiscordImageType>(type);
100
+ }
101
+
102
+ ImageType ImageHandle::GetType() const
103
+ {
104
+ return static_cast<ImageType>(internal_.type);
105
+ }
106
+
107
+ void ImageHandle::SetId(std::int64_t id)
108
+ {
109
+ internal_.id = id;
110
+ }
111
+
112
+ std::int64_t ImageHandle::GetId() const
113
+ {
114
+ return internal_.id;
115
+ }
116
+
117
+ void ImageHandle::SetSize(std::uint32_t size)
118
+ {
119
+ internal_.size = size;
120
+ }
121
+
122
+ std::uint32_t ImageHandle::GetSize() const
123
+ {
124
+ return internal_.size;
125
+ }
126
+
127
+ void ImageDimensions::SetWidth(std::uint32_t width)
128
+ {
129
+ internal_.width = width;
130
+ }
131
+
132
+ std::uint32_t ImageDimensions::GetWidth() const
133
+ {
134
+ return internal_.width;
135
+ }
136
+
137
+ void ImageDimensions::SetHeight(std::uint32_t height)
138
+ {
139
+ internal_.height = height;
140
+ }
141
+
142
+ std::uint32_t ImageDimensions::GetHeight() const
143
+ {
144
+ return internal_.height;
145
+ }
146
+
147
+ void ActivityTimestamps::SetStart(Timestamp start)
148
+ {
149
+ internal_.start = start;
150
+ }
151
+
152
+ Timestamp ActivityTimestamps::GetStart() const
153
+ {
154
+ return internal_.start;
155
+ }
156
+
157
+ void ActivityTimestamps::SetEnd(Timestamp end)
158
+ {
159
+ internal_.end = end;
160
+ }
161
+
162
+ Timestamp ActivityTimestamps::GetEnd() const
163
+ {
164
+ return internal_.end;
165
+ }
166
+
167
+ void ActivityAssets::SetLargeImage(char const* largeImage)
168
+ {
169
+ strncpy(internal_.large_image, largeImage, 128);
170
+ internal_.large_image[128 - 1] = '\0';
171
+ }
172
+
173
+ char const* ActivityAssets::GetLargeImage() const
174
+ {
175
+ return internal_.large_image;
176
+ }
177
+
178
+ void ActivityAssets::SetLargeText(char const* largeText)
179
+ {
180
+ strncpy(internal_.large_text, largeText, 128);
181
+ internal_.large_text[128 - 1] = '\0';
182
+ }
183
+
184
+ char const* ActivityAssets::GetLargeText() const
185
+ {
186
+ return internal_.large_text;
187
+ }
188
+
189
+ void ActivityAssets::SetSmallImage(char const* smallImage)
190
+ {
191
+ strncpy(internal_.small_image, smallImage, 128);
192
+ internal_.small_image[128 - 1] = '\0';
193
+ }
194
+
195
+ char const* ActivityAssets::GetSmallImage() const
196
+ {
197
+ return internal_.small_image;
198
+ }
199
+
200
+ void ActivityAssets::SetSmallText(char const* smallText)
201
+ {
202
+ strncpy(internal_.small_text, smallText, 128);
203
+ internal_.small_text[128 - 1] = '\0';
204
+ }
205
+
206
+ char const* ActivityAssets::GetSmallText() const
207
+ {
208
+ return internal_.small_text;
209
+ }
210
+
211
+ void PartySize::SetCurrentSize(std::int32_t currentSize)
212
+ {
213
+ internal_.current_size = currentSize;
214
+ }
215
+
216
+ std::int32_t PartySize::GetCurrentSize() const
217
+ {
218
+ return internal_.current_size;
219
+ }
220
+
221
+ void PartySize::SetMaxSize(std::int32_t maxSize)
222
+ {
223
+ internal_.max_size = maxSize;
224
+ }
225
+
226
+ std::int32_t PartySize::GetMaxSize() const
227
+ {
228
+ return internal_.max_size;
229
+ }
230
+
231
+ void ActivityParty::SetId(char const* id)
232
+ {
233
+ strncpy(internal_.id, id, 128);
234
+ internal_.id[128 - 1] = '\0';
235
+ }
236
+
237
+ char const* ActivityParty::GetId() const
238
+ {
239
+ return internal_.id;
240
+ }
241
+
242
+ PartySize& ActivityParty::GetSize()
243
+ {
244
+ return reinterpret_cast<PartySize&>(internal_.size);
245
+ }
246
+
247
+ PartySize const& ActivityParty::GetSize() const
248
+ {
249
+ return reinterpret_cast<PartySize const&>(internal_.size);
250
+ }
251
+
252
+ void ActivitySecrets::SetMatch(char const* match)
253
+ {
254
+ strncpy(internal_.match, match, 128);
255
+ internal_.match[128 - 1] = '\0';
256
+ }
257
+
258
+ char const* ActivitySecrets::GetMatch() const
259
+ {
260
+ return internal_.match;
261
+ }
262
+
263
+ void ActivitySecrets::SetJoin(char const* join)
264
+ {
265
+ strncpy(internal_.join, join, 128);
266
+ internal_.join[128 - 1] = '\0';
267
+ }
268
+
269
+ char const* ActivitySecrets::GetJoin() const
270
+ {
271
+ return internal_.join;
272
+ }
273
+
274
+ void ActivitySecrets::SetSpectate(char const* spectate)
275
+ {
276
+ strncpy(internal_.spectate, spectate, 128);
277
+ internal_.spectate[128 - 1] = '\0';
278
+ }
279
+
280
+ char const* ActivitySecrets::GetSpectate() const
281
+ {
282
+ return internal_.spectate;
283
+ }
284
+
285
+ void Activity::SetType(ActivityType type)
286
+ {
287
+ internal_.type = static_cast<EDiscordActivityType>(type);
288
+ }
289
+
290
+ ActivityType Activity::GetType() const
291
+ {
292
+ return static_cast<ActivityType>(internal_.type);
293
+ }
294
+
295
+ void Activity::SetApplicationId(std::int64_t applicationId)
296
+ {
297
+ internal_.application_id = applicationId;
298
+ }
299
+
300
+ std::int64_t Activity::GetApplicationId() const
301
+ {
302
+ return internal_.application_id;
303
+ }
304
+
305
+ void Activity::SetName(char const* name)
306
+ {
307
+ strncpy(internal_.name, name, 128);
308
+ internal_.name[128 - 1] = '\0';
309
+ }
310
+
311
+ char const* Activity::GetName() const
312
+ {
313
+ return internal_.name;
314
+ }
315
+
316
+ void Activity::SetState(char const* state)
317
+ {
318
+ strncpy(internal_.state, state, 128);
319
+ internal_.state[128 - 1] = '\0';
320
+ }
321
+
322
+ char const* Activity::GetState() const
323
+ {
324
+ return internal_.state;
325
+ }
326
+
327
+ void Activity::SetDetails(char const* details)
328
+ {
329
+ strncpy(internal_.details, details, 128);
330
+ internal_.details[128 - 1] = '\0';
331
+ }
332
+
333
+ char const* Activity::GetDetails() const
334
+ {
335
+ return internal_.details;
336
+ }
337
+
338
+ ActivityTimestamps& Activity::GetTimestamps()
339
+ {
340
+ return reinterpret_cast<ActivityTimestamps&>(internal_.timestamps);
341
+ }
342
+
343
+ ActivityTimestamps const& Activity::GetTimestamps() const
344
+ {
345
+ return reinterpret_cast<ActivityTimestamps const&>(internal_.timestamps);
346
+ }
347
+
348
+ ActivityAssets& Activity::GetAssets()
349
+ {
350
+ return reinterpret_cast<ActivityAssets&>(internal_.assets);
351
+ }
352
+
353
+ ActivityAssets const& Activity::GetAssets() const
354
+ {
355
+ return reinterpret_cast<ActivityAssets const&>(internal_.assets);
356
+ }
357
+
358
+ ActivityParty& Activity::GetParty()
359
+ {
360
+ return reinterpret_cast<ActivityParty&>(internal_.party);
361
+ }
362
+
363
+ ActivityParty const& Activity::GetParty() const
364
+ {
365
+ return reinterpret_cast<ActivityParty const&>(internal_.party);
366
+ }
367
+
368
+ ActivitySecrets& Activity::GetSecrets()
369
+ {
370
+ return reinterpret_cast<ActivitySecrets&>(internal_.secrets);
371
+ }
372
+
373
+ ActivitySecrets const& Activity::GetSecrets() const
374
+ {
375
+ return reinterpret_cast<ActivitySecrets const&>(internal_.secrets);
376
+ }
377
+
378
+ void Activity::SetInstance(bool instance)
379
+ {
380
+ internal_.instance = instance;
381
+ }
382
+
383
+ bool Activity::GetInstance() const
384
+ {
385
+ return internal_.instance != 0;
386
+ }
387
+
388
+ void Presence::SetStatus(Status status)
389
+ {
390
+ internal_.status = static_cast<EDiscordStatus>(status);
391
+ }
392
+
393
+ Status Presence::GetStatus() const
394
+ {
395
+ return static_cast<Status>(internal_.status);
396
+ }
397
+
398
+ Activity& Presence::GetActivity()
399
+ {
400
+ return reinterpret_cast<Activity&>(internal_.activity);
401
+ }
402
+
403
+ Activity const& Presence::GetActivity() const
404
+ {
405
+ return reinterpret_cast<Activity const&>(internal_.activity);
406
+ }
407
+
408
+ void Relationship::SetType(RelationshipType type)
409
+ {
410
+ internal_.type = static_cast<EDiscordRelationshipType>(type);
411
+ }
412
+
413
+ RelationshipType Relationship::GetType() const
414
+ {
415
+ return static_cast<RelationshipType>(internal_.type);
416
+ }
417
+
418
+ User& Relationship::GetUser()
419
+ {
420
+ return reinterpret_cast<User&>(internal_.user);
421
+ }
422
+
423
+ User const& Relationship::GetUser() const
424
+ {
425
+ return reinterpret_cast<User const&>(internal_.user);
426
+ }
427
+
428
+ Presence& Relationship::GetPresence()
429
+ {
430
+ return reinterpret_cast<Presence&>(internal_.presence);
431
+ }
432
+
433
+ Presence const& Relationship::GetPresence() const
434
+ {
435
+ return reinterpret_cast<Presence const&>(internal_.presence);
436
+ }
437
+
438
+ void Lobby::SetId(LobbyId id)
439
+ {
440
+ internal_.id = id;
441
+ }
442
+
443
+ LobbyId Lobby::GetId() const
444
+ {
445
+ return internal_.id;
446
+ }
447
+
448
+ void Lobby::SetType(LobbyType type)
449
+ {
450
+ internal_.type = static_cast<EDiscordLobbyType>(type);
451
+ }
452
+
453
+ LobbyType Lobby::GetType() const
454
+ {
455
+ return static_cast<LobbyType>(internal_.type);
456
+ }
457
+
458
+ void Lobby::SetOwnerId(UserId ownerId)
459
+ {
460
+ internal_.owner_id = ownerId;
461
+ }
462
+
463
+ UserId Lobby::GetOwnerId() const
464
+ {
465
+ return internal_.owner_id;
466
+ }
467
+
468
+ void Lobby::SetSecret(LobbySecret secret)
469
+ {
470
+ strncpy(internal_.secret, secret, 128);
471
+ internal_.secret[128 - 1] = '\0';
472
+ }
473
+
474
+ LobbySecret Lobby::GetSecret() const
475
+ {
476
+ return internal_.secret;
477
+ }
478
+
479
+ void Lobby::SetCapacity(std::uint32_t capacity)
480
+ {
481
+ internal_.capacity = capacity;
482
+ }
483
+
484
+ std::uint32_t Lobby::GetCapacity() const
485
+ {
486
+ return internal_.capacity;
487
+ }
488
+
489
+ void Lobby::SetLocked(bool locked)
490
+ {
491
+ internal_.locked = locked;
492
+ }
493
+
494
+ bool Lobby::GetLocked() const
495
+ {
496
+ return internal_.locked != 0;
497
+ }
498
+
499
+ void FileStat::SetFilename(char const* filename)
500
+ {
501
+ strncpy(internal_.filename, filename, 260);
502
+ internal_.filename[260 - 1] = '\0';
503
+ }
504
+
505
+ char const* FileStat::GetFilename() const
506
+ {
507
+ return internal_.filename;
508
+ }
509
+
510
+ void FileStat::SetSize(std::uint64_t size)
511
+ {
512
+ internal_.size = size;
513
+ }
514
+
515
+ std::uint64_t FileStat::GetSize() const
516
+ {
517
+ return internal_.size;
518
+ }
519
+
520
+ void FileStat::SetLastModified(std::uint64_t lastModified)
521
+ {
522
+ internal_.last_modified = lastModified;
523
+ }
524
+
525
+ std::uint64_t FileStat::GetLastModified() const
526
+ {
527
+ return internal_.last_modified;
528
+ }
529
+
530
+ void Entitlement::SetId(Snowflake id)
531
+ {
532
+ internal_.id = id;
533
+ }
534
+
535
+ Snowflake Entitlement::GetId() const
536
+ {
537
+ return internal_.id;
538
+ }
539
+
540
+ void Entitlement::SetType(EntitlementType type)
541
+ {
542
+ internal_.type = static_cast<EDiscordEntitlementType>(type);
543
+ }
544
+
545
+ EntitlementType Entitlement::GetType() const
546
+ {
547
+ return static_cast<EntitlementType>(internal_.type);
548
+ }
549
+
550
+ void Entitlement::SetSkuId(Snowflake skuId)
551
+ {
552
+ internal_.sku_id = skuId;
553
+ }
554
+
555
+ Snowflake Entitlement::GetSkuId() const
556
+ {
557
+ return internal_.sku_id;
558
+ }
559
+
560
+ void SkuPrice::SetAmount(std::uint32_t amount)
561
+ {
562
+ internal_.amount = amount;
563
+ }
564
+
565
+ std::uint32_t SkuPrice::GetAmount() const
566
+ {
567
+ return internal_.amount;
568
+ }
569
+
570
+ void SkuPrice::SetCurrency(char const* currency)
571
+ {
572
+ strncpy(internal_.currency, currency, 16);
573
+ internal_.currency[16 - 1] = '\0';
574
+ }
575
+
576
+ char const* SkuPrice::GetCurrency() const
577
+ {
578
+ return internal_.currency;
579
+ }
580
+
581
+ void Sku::SetId(Snowflake id)
582
+ {
583
+ internal_.id = id;
584
+ }
585
+
586
+ Snowflake Sku::GetId() const
587
+ {
588
+ return internal_.id;
589
+ }
590
+
591
+ void Sku::SetType(SkuType type)
592
+ {
593
+ internal_.type = static_cast<EDiscordSkuType>(type);
594
+ }
595
+
596
+ SkuType Sku::GetType() const
597
+ {
598
+ return static_cast<SkuType>(internal_.type);
599
+ }
600
+
601
+ void Sku::SetName(char const* name)
602
+ {
603
+ strncpy(internal_.name, name, 256);
604
+ internal_.name[256 - 1] = '\0';
605
+ }
606
+
607
+ char const* Sku::GetName() const
608
+ {
609
+ return internal_.name;
610
+ }
611
+
612
+ SkuPrice& Sku::GetPrice()
613
+ {
614
+ return reinterpret_cast<SkuPrice&>(internal_.price);
615
+ }
616
+
617
+ SkuPrice const& Sku::GetPrice() const
618
+ {
619
+ return reinterpret_cast<SkuPrice const&>(internal_.price);
620
+ }
621
+
622
+ void InputMode::SetType(InputModeType type)
623
+ {
624
+ internal_.type = static_cast<EDiscordInputModeType>(type);
625
+ }
626
+
627
+ InputModeType InputMode::GetType() const
628
+ {
629
+ return static_cast<InputModeType>(internal_.type);
630
+ }
631
+
632
+ void InputMode::SetShortcut(char const* shortcut)
633
+ {
634
+ strncpy(internal_.shortcut, shortcut, 256);
635
+ internal_.shortcut[256 - 1] = '\0';
636
+ }
637
+
638
+ char const* InputMode::GetShortcut() const
639
+ {
640
+ return internal_.shortcut;
641
+ }
642
+
643
+ void UserAchievement::SetUserId(Snowflake userId)
644
+ {
645
+ internal_.user_id = userId;
646
+ }
647
+
648
+ Snowflake UserAchievement::GetUserId() const
649
+ {
650
+ return internal_.user_id;
651
+ }
652
+
653
+ void UserAchievement::SetAchievementId(Snowflake achievementId)
654
+ {
655
+ internal_.achievement_id = achievementId;
656
+ }
657
+
658
+ Snowflake UserAchievement::GetAchievementId() const
659
+ {
660
+ return internal_.achievement_id;
661
+ }
662
+
663
+ void UserAchievement::SetPercentComplete(std::uint8_t percentComplete)
664
+ {
665
+ internal_.percent_complete = percentComplete;
666
+ }
667
+
668
+ std::uint8_t UserAchievement::GetPercentComplete() const
669
+ {
670
+ return internal_.percent_complete;
671
+ }
672
+
673
+ void UserAchievement::SetUnlockedAt(DateTime unlockedAt)
674
+ {
675
+ strncpy(internal_.unlocked_at, unlockedAt, 64);
676
+ internal_.unlocked_at[64 - 1] = '\0';
677
+ }
678
+
679
+ DateTime UserAchievement::GetUnlockedAt() const
680
+ {
681
+ return internal_.unlocked_at;
682
+ }
683
+
684
+ Result LobbyTransaction::SetType(LobbyType type)
685
+ {
686
+ auto result = internal_->set_type(internal_, static_cast<EDiscordLobbyType>(type));
687
+ return static_cast<Result>(result);
688
+ }
689
+
690
+ Result LobbyTransaction::SetOwner(UserId ownerId)
691
+ {
692
+ auto result = internal_->set_owner(internal_, ownerId);
693
+ return static_cast<Result>(result);
694
+ }
695
+
696
+ Result LobbyTransaction::SetCapacity(std::uint32_t capacity)
697
+ {
698
+ auto result = internal_->set_capacity(internal_, capacity);
699
+ return static_cast<Result>(result);
700
+ }
701
+
702
+ Result LobbyTransaction::SetMetadata(MetadataKey key, MetadataValue value)
703
+ {
704
+ auto result =
705
+ internal_->set_metadata(internal_, const_cast<char*>(key), const_cast<char*>(value));
706
+ return static_cast<Result>(result);
707
+ }
708
+
709
+ Result LobbyTransaction::DeleteMetadata(MetadataKey key)
710
+ {
711
+ auto result = internal_->delete_metadata(internal_, const_cast<char*>(key));
712
+ return static_cast<Result>(result);
713
+ }
714
+
715
+ Result LobbyTransaction::SetLocked(bool locked)
716
+ {
717
+ auto result = internal_->set_locked(internal_, (locked ? 1 : 0));
718
+ return static_cast<Result>(result);
719
+ }
720
+
721
+ Result LobbyMemberTransaction::SetMetadata(MetadataKey key, MetadataValue value)
722
+ {
723
+ auto result =
724
+ internal_->set_metadata(internal_, const_cast<char*>(key), const_cast<char*>(value));
725
+ return static_cast<Result>(result);
726
+ }
727
+
728
+ Result LobbyMemberTransaction::DeleteMetadata(MetadataKey key)
729
+ {
730
+ auto result = internal_->delete_metadata(internal_, const_cast<char*>(key));
731
+ return static_cast<Result>(result);
732
+ }
733
+
734
+ Result LobbySearchQuery::Filter(MetadataKey key,
735
+ LobbySearchComparison comparison,
736
+ LobbySearchCast cast,
737
+ MetadataValue value)
738
+ {
739
+ auto result = internal_->filter(internal_,
740
+ const_cast<char*>(key),
741
+ static_cast<EDiscordLobbySearchComparison>(comparison),
742
+ static_cast<EDiscordLobbySearchCast>(cast),
743
+ const_cast<char*>(value));
744
+ return static_cast<Result>(result);
745
+ }
746
+
747
+ Result LobbySearchQuery::Sort(MetadataKey key, LobbySearchCast cast, MetadataValue value)
748
+ {
749
+ auto result = internal_->sort(internal_,
750
+ const_cast<char*>(key),
751
+ static_cast<EDiscordLobbySearchCast>(cast),
752
+ const_cast<char*>(value));
753
+ return static_cast<Result>(result);
754
+ }
755
+
756
+ Result LobbySearchQuery::Limit(std::uint32_t limit)
757
+ {
758
+ auto result = internal_->limit(internal_, limit);
759
+ return static_cast<Result>(result);
760
+ }
761
+
762
+ Result LobbySearchQuery::Distance(LobbySearchDistance distance)
763
+ {
764
+ auto result =
765
+ internal_->distance(internal_, static_cast<EDiscordLobbySearchDistance>(distance));
766
+ return static_cast<Result>(result);
767
+ }
768
+
769
+ } // namespace discord