aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/icy/ifc_icy_reader.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/replicant/icy/ifc_icy_reader.h')
-rw-r--r--Src/replicant/icy/ifc_icy_reader.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/Src/replicant/icy/ifc_icy_reader.h b/Src/replicant/icy/ifc_icy_reader.h
new file mode 100644
index 00000000..74e2d928
--- /dev/null
+++ b/Src/replicant/icy/ifc_icy_reader.h
@@ -0,0 +1,37 @@
+/*
+ * ifc_icy_reader.h
+ * shoutcast_player
+ *
+ * Created by Ben Allison on 2/1/08.
+ * Copyright 2008 Nullsoft, Inc. All rights reserved.
+ *
+ */
+ #pragma once
+#include "foundation/dispatch.h"
+#include "foundation/types.h"
+#include "foundation/error.h"
+
+class ifc_icy_reader : public Wasabi2::Dispatchable
+{
+protected:
+ ifc_icy_reader() : Dispatchable(DISPATCHABLE_VERSION) {}
+ ~ifc_icy_reader() {}
+public:
+ size_t BytesBuffered() { return ICYReader_BytesBuffered(); }
+ int Read(void *buffer, size_t length, size_t *readLength) { return ICYReader_Read(buffer, length, readLength); }
+ int Peek(void *buffer, size_t length, size_t *readLength) { return ICYReader_Peek(buffer, length, readLength); }
+ int IsClosed() { return ICYReader_IsClosed(); }
+ int Run() { return ICYReader_Run(); }
+
+ enum
+ {
+ DISPATCHABLE_VERSION,
+ };
+protected:
+ virtual size_t WASABICALL ICYReader_BytesBuffered()=0;
+ virtual int WASABICALL ICYReader_Read(void *buffer, size_t length, size_t *readLength)=0;
+ virtual int WASABICALL ICYReader_Peek(void *buffer, size_t length, size_t *readLength)=0;
+ virtual int WASABICALL ICYReader_IsClosed()=0;
+ virtual int WASABICALL ICYReader_Run()=0;
+
+};