audioserver/PulseAudio/inc/pulseaudioEnumPrint.h
2024-06-21 08:22:20 +02:00

53 lines
2.1 KiB
C++

#pragma once
#include <ostream>
#include <pulse/subscribe.h>
std::ostream& operator<<(std::ostream& out, const pa_subscription_mask value) {
return out << [value] {
#define PROCESS_VAL(p) case(p): return #p;
switch (value) {
PROCESS_VAL(PA_SUBSCRIPTION_MASK_NULL);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_SINK);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_SOURCE);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_SINK_INPUT);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_MODULE);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_CLIENT);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_SAMPLE_CACHE);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_SERVER);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_AUTOLOAD);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_CARD);
PROCESS_VAL(PA_SUBSCRIPTION_MASK_ALL);
default:
return "Unkown Enum value";
}
#undef PROCESS_VAL
}();
}
std::ostream& operator<<(std::ostream& out, const pa_subscription_event_type value) {
return out << [value] {
#define PROCESS_VAL(p) case(p): return #p;
switch (value) {
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_SOURCE);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_SINK_INPUT);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_MODULE);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_CLIENT);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_SAMPLE_CACHE);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_SERVER);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_AUTOLOAD);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_CARD);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_FACILITY_MASK);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_CHANGE);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_REMOVE);
PROCESS_VAL(PA_SUBSCRIPTION_EVENT_TYPE_MASK);
case PA_SUBSCRIPTION_EVENT_NEW:
return "PA_SUBSCRIPTION_EVENT_NEW|PA_SUBSCRIPTION_EVENT_SINK";
default:
return "Unkown Enum value";
}
#undef PROCESS_VAL
}();
}