TrinityCore
Loading...
Searching...
No Matches
CalendarPackets.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef TRINITYCORE_CALENDAR_PACKETS_H
19#define TRINITYCORE_CALENDAR_PACKETS_H
20
21#include "Packet.h"
22#include "CalendarMgr.h"
23#include "ObjectGuid.h"
24#include "Optional.h"
25#include "PacketUtilities.h"
26#include "WowTime.h"
27
28namespace WorldPackets
29{
30 namespace Calendar
31 {
32 class CalendarGetCalendar final : public ClientPacket
33 {
34 public:
35 explicit CalendarGetCalendar(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET, std::move(packet)) { }
36
37 void Read() override { }
38 };
39
40 class CalendarGetEvent final : public ClientPacket
41 {
42 public:
43 explicit CalendarGetEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_EVENT, std::move(packet)) { }
44
45 void Read() override;
46
48 };
49
51 {
52 public:
54
55 void Read() override;
56
61 };
62
72
84
85 class CalendarAddEvent final : public ClientPacket
86 {
87 public:
88 explicit CalendarAddEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_ADD_EVENT, std::move(packet)) { }
89
90 void Read() override;
91
94 };
95
108
110 {
111 public:
113
114 void Read() override;
115
118 };
119
121 {
122 public:
124
125 void Read() override;
126
131 };
132
133 class CalendarCopyEvent final : public ClientPacket
134 {
135 public:
137
138 void Read() override;
139
144 };
145
162
173
181
193
195 {
196 public:
198
199 WorldPacket const* Write() override;
200
202 std::vector<CalendarSendCalendarInviteInfo> Invites;
203 std::vector<CalendarSendCalendarRaidLockoutInfo> RaidLockouts;
204 std::vector<CalendarSendCalendarEventInfo> Events;
205 };
206
218
219 class CalendarSendEvent final : public ServerPacket
220 {
221 public:
223
224 WorldPacket const* Write() override;
225
235 std::string Description;
236 std::string EventName;
237 std::vector<CalendarEventInviteInfo> Invites;
238 };
239
261
262 class CalendarInvite final : public ClientPacket
263 {
264 public:
265 explicit CalendarInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_INVITE, std::move(packet)) { }
266
267 void Read() override;
268
270 bool IsSignUp = false;
271 bool Creating = true;
274 std::string Name;
275 };
276
277 class CalendarRSVP final : public ClientPacket
278 {
279 public:
280 explicit CalendarRSVP(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_RSVP, std::move(packet)) { }
281
282 void Read() override;
283
287 };
288
304
306 {
307 public:
309
310 WorldPacket const* Write() override;
311
315 bool ClearPending = false;
316 };
317
319 {
320 public:
322
323 WorldPacket const* Write() override;
324
328 bool ClearPending = false;
329 };
330
332 {
333 public:
335
336 WorldPacket const* Write() override;
337
342 };
343
345 {
346 public:
348
349 WorldPacket const* Write() override { return &_worldPacket; }
350 };
351
371
373 {
374 public:
376
377 WorldPacket const* Write() override;
378
381 bool ClearPending = false;
382 };
383
385 {
386 public:
389
390 WorldPacket const* Write() override;
391
393 };
394
396 {
397 public:
399
400 void Read() override { }
401 };
402
404 {
405 public:
407
408 void Read() override;
409
410 bool Tentative = false;
413 };
414
416 {
417 public:
419
420 void Read() override;
421
426 };
427
428 class CalendarStatus final : public ClientPacket
429 {
430 public:
431 explicit CalendarStatus(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_STATUS, std::move(packet)) { }
432
433 void Read() override;
434
440 };
441
443 {
444 public:
446
447 void Read() override;
448
450 bool Extend = false;
452 };
453
455 {
456 public:
458
459 void Read() override;
460
466 };
467
469 {
470 public:
472
473 WorldPacket const* Write() override;
474
477 std::string Name;
478 };
479
481 {
482 public:
484
485 WorldPacket const* Write() override;
486
492 };
493
495 {
496 public:
498
499 WorldPacket const* Write() override;
500
504 };
505
519
527
529 {
530 public:
532
533 WorldPacket const* Write() override;
534
535 std::vector<CalendarEventInitialInviteInfo> Invites;
536 };
537
539 {
540 public:
542
543 WorldPacket const* Write() override;
544
549 };
550
552 {
553 public:
555 explicit CalendarInviteNotesAlert(uint64 eventID, std::string const& notes) : ServerPacket(SMSG_CALENDAR_INVITE_NOTES_ALERT, 8 + notes.size()), EventID(eventID), Notes(notes) { }
556
557 WorldPacket const* Write() override;
558
560 std::string Notes;
561 };
562
564 {
565 public:
567
568 WorldPacket const* Write() override;
569
572 std::string Notes;
573 bool ClearPending = false;
574 };
575
576 class CalendarComplain final : public ClientPacket
577 {
578 public:
579 explicit CalendarComplain(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COMPLAIN, std::move(packet)) { }
580
581 void Read() override;
582
586 };
587 }
588}
589
590#endif // TRINITYCORE_CALENDAR_PACKETS_H
uint8_t uint8
Definition Define.h:156
int16_t int16
Definition Define.h:151
int32_t int32
Definition Define.h:150
uint64_t uint64
Definition Define.h:153
uint16_t uint16
Definition Define.h:155
uint32_t uint32
Definition Define.h:154
@ SMSG_CALENDAR_SEND_EVENT
Definition Opcodes.h:1265
@ SMSG_CALENDAR_SEND_NUM_PENDING
Definition Opcodes.h:1266
@ SMSG_CALENDAR_CLEAR_PENDING_ACTION
Definition Opcodes.h:1247
@ SMSG_CALENDAR_COMMAND_RESULT
Definition Opcodes.h:1248
@ SMSG_CALENDAR_INVITE_REMOVED
Definition Opcodes.h:1256
@ SMSG_CALENDAR_INVITE_ADDED
Definition Opcodes.h:1252
@ SMSG_CALENDAR_EVENT_UPDATED_ALERT
Definition Opcodes.h:1251
@ SMSG_CALENDAR_SEND_CALENDAR
Definition Opcodes.h:1264
@ SMSG_CALENDAR_EVENT_REMOVED_ALERT
Definition Opcodes.h:1250
@ SMSG_CALENDAR_INVITE_NOTES_ALERT
Definition Opcodes.h:1255
@ SMSG_CALENDAR_RAID_LOCKOUT_ADDED
Definition Opcodes.h:1261
@ SMSG_CALENDAR_INVITE_STATUS
Definition Opcodes.h:1258
@ SMSG_CALENDAR_RAID_LOCKOUT_UPDATED
Definition Opcodes.h:1263
@ SMSG_CALENDAR_RAID_LOCKOUT_REMOVED
Definition Opcodes.h:1262
@ SMSG_CALENDAR_INVITE_ALERT
Definition Opcodes.h:1253
@ SMSG_CALENDAR_MODERATOR_STATUS
Definition Opcodes.h:1260
@ SMSG_CALENDAR_INVITE_STATUS_ALERT
Definition Opcodes.h:1259
@ SMSG_CALENDAR_INVITE_REMOVED_ALERT
Definition Opcodes.h:1257
@ SMSG_CALENDAR_COMMUNITY_INVITE
Definition Opcodes.h:1249
@ SMSG_CALENDAR_INVITE_NOTES
Definition Opcodes.h:1254
@ CMSG_CALENDAR_ADD_EVENT
Definition Opcodes.h:149
@ CMSG_CALENDAR_RSVP
Definition Opcodes.h:161
@ CMSG_CALENDAR_GET_EVENT
Definition Opcodes.h:155
@ CMSG_CALENDAR_REMOVE_INVITE
Definition Opcodes.h:160
@ CMSG_CALENDAR_EVENT_SIGN_UP
Definition Opcodes.h:153
@ CMSG_CALENDAR_INVITE
Definition Opcodes.h:157
@ CMSG_CALENDAR_GET_NUM_PENDING
Definition Opcodes.h:156
@ CMSG_CALENDAR_COMPLAIN
Definition Opcodes.h:151
@ CMSG_CALENDAR_COPY_EVENT
Definition Opcodes.h:152
@ CMSG_CALENDAR_STATUS
Definition Opcodes.h:162
@ CMSG_CALENDAR_MODERATOR_STATUS
Definition Opcodes.h:158
@ CMSG_CALENDAR_GET
Definition Opcodes.h:154
@ CMSG_CALENDAR_UPDATE_EVENT
Definition Opcodes.h:163
@ CMSG_SET_SAVED_INSTANCE_EXTEND
Definition Opcodes.h:931
@ CMSG_CALENDAR_COMMUNITY_INVITE
Definition Opcodes.h:150
@ CMSG_CALENDAR_REMOVE_EVENT
Definition Opcodes.h:159
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition Optional.h:25
std::vector< CalendarEventInitialInviteInfo > Invites
CalendarInviteNotesAlert(uint64 eventID, std::string const &notes)
std::vector< CalendarSendCalendarInviteInfo > Invites
std::vector< CalendarSendCalendarRaidLockoutInfo > RaidLockouts
std::vector< CalendarSendCalendarEventInfo > Events
std::vector< CalendarEventInviteInfo > Invites
WorldPacket _worldPacket
Definition Packet.h:43
STL namespace.
Array< CalendarAddEventInviteInfo, CALENDAR_MAX_INVITES > Invites
CalendarEventInitialInviteInfo(ObjectGuid inviteGuid, uint8 level)