| 56 | } |
| 57 | |
| 58 | std::string FormatTicketFlags(const cnt::TicketFlags flags) { |
| 59 | std::string fmt = ""; |
| 60 | |
| 61 | #define _GLEAF_TICKET_FMT_HANDLE_FLAG(flag) \ |
| 62 | if(static_cast<bool>(flags & cnt::TicketFlags::flag)) { \ |
| 63 | if(!fmt.empty()) { \ |
| 64 | fmt += ", "; \ |
| 65 | } \ |
| 66 | fmt += #flag; \ |
| 67 | } |
| 68 | |
| 69 | _GLEAF_TICKET_FMT_HANDLE_FLAG(PreInstalled); |
| 70 | _GLEAF_TICKET_FMT_HANDLE_FLAG(Shared); |
| 71 | _GLEAF_TICKET_FMT_HANDLE_FLAG(AllContents); |
| 72 | _GLEAF_TICKET_FMT_HANDLE_FLAG(DeviceLinkIndependent); |
| 73 | _GLEAF_TICKET_FMT_HANDLE_FLAG(Temporary); |
| 74 | |
| 75 | if(fmt.empty()) { |
| 76 | fmt = "Default"; |
| 77 | } |
| 78 | return fmt; |
| 79 | } |
| 80 | |
| 81 | enum class InstallDialogResult { |
| 82 | Cancel, |
no outgoing calls
no test coverage detected