summaryrefslogtreecommitdiff
path: root/p2pvr/lib/dvbsiHelpers/service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'p2pvr/lib/dvbsiHelpers/service.cpp')
-rw-r--r--p2pvr/lib/dvbsiHelpers/service.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/p2pvr/lib/dvbsiHelpers/service.cpp b/p2pvr/lib/dvbsiHelpers/service.cpp
new file mode 100644
index 0000000..dfc03be
--- /dev/null
+++ b/p2pvr/lib/dvbsiHelpers/service.cpp
@@ -0,0 +1,35 @@
+#include "../dvbsiHelpers.h"
+#include "../p2Helpers.h"
+
+template<>
+void
+CreateColumns<DVBSI::ServicePtr>(const ColumnCreator & cc)
+{
+ cc("serviceId", true);
+ cc("transportStreamId", true);
+ cc("name", false);
+ cc("providerName", false);
+ cc("defaultAuthority", false);
+}
+
+template<>
+void
+BindColumns(RowState & rs, const DVBSI::ServicePtr & s, const DVBSI::TransportStreamPtr & ts)
+{
+ rs.fields[0] << s->ServiceId;
+ rs.fields[1] << ts->TransportStreamId;
+ rs.fields[2] << s->Name;
+ rs.fields[4] << s->ProviderName;
+ rs.fields[4] << s->DefaultAuthority;
+}
+
+template<>
+void
+UnbindColumns(RowState & rs, DVBSI::ServicePtr const & s)
+{
+ rs.fields[0] >> s->ServiceId;
+ rs.fields[0] >> s->Name;
+ rs.fields[0] >> s->ProviderName;
+ rs.fields[0] >> s->DefaultAuthority;
+}
+