From 4927458e91e708213b0713dd4d3898dda6ec35c1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 10 Aug 2004 13:04:04 +0000 Subject: Initial commit git-svn-id: file:///home/lennart/svn/public/paman/trunk@3 cdefa82f-4ce1-0310-97f5-ab6066f37c3c --- ServerInfo.hh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 ServerInfo.hh (limited to 'ServerInfo.hh') diff --git a/ServerInfo.hh b/ServerInfo.hh new file mode 100644 index 0000000..6dea7a9 --- /dev/null +++ b/ServerInfo.hh @@ -0,0 +1,75 @@ +#ifndef fooserverinfohhfoo +#define fooserverinfohhfoo + +#include +#include + +#include + +class SinkInfo; +class SourceInfo; +class ServerInfo; + +#include "SinkWindow.hh" +#include "SourceWindow.hh" +#include "MainWindow.hh" + +class SinkInfo { +public: + + SinkInfo(const struct pa_sink_info &i); + ~SinkInfo(); + + void update(const struct pa_sink_info &i); + void showWindow(); + + Glib::ustring name, description; + uint32_t index; + struct pa_sample_spec sample_spec; + uint32_t monitor_source; + uint32_t owner_module; + uint32_t volume; + uint32_t latency; + + SinkWindow *sinkWindow; +}; + +class SourceInfo { +public: + SourceInfo(const struct pa_source_info &i); + ~SourceInfo(); + + void update(const struct pa_source_info &i); + void showWindow(); + + Glib::ustring name, description; + uint32_t index; + struct pa_sample_spec sample_spec; + uint32_t owner_module; + uint32_t monitor_of_sink; + + SourceWindow *sourceWindow; +}; + +class ServerInfo { +public: + ServerInfo(struct pa_context &c); + ~ServerInfo(); + + void updateInfo(const struct pa_sink_info &i); + void updateInfo(const struct pa_source_info &i); + + void showSinkWindow(uint32_t index); + void showSourceWindow(uint32_t index); + + SourceInfo* getSourceInfo(uint32_t index); + SinkInfo* getSinkInfo(uint32_t index); + +protected: + std::map sinks; + std::map sources; + + struct pa_context &context; +}; + +#endif -- cgit