diff options
Diffstat (limited to 'Src/replicant/file/svc_filerawreader.h')
-rw-r--r-- | Src/replicant/file/svc_filerawreader.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Src/replicant/file/svc_filerawreader.h b/Src/replicant/file/svc_filerawreader.h new file mode 100644 index 00000000..29146cc4 --- /dev/null +++ b/Src/replicant/file/svc_filerawreader.h @@ -0,0 +1,30 @@ +#pragma once +#include "foundation/dispatch.h" +#include "nx/nxuri.h" +#include "nx/nxfile.h" +#include "foundation/error.h" +#include "decode/ifc_raw_media_reader.h" +#include "metadata/ifc_metadata.h" + +// {FF84B47B-5ED4-45E8-B822-0F8FE20F80A8} +static const GUID filerawreader_service_type_guid = +{ 0xff84b47b, 0x5ed4, 0x45e8, { 0xb8, 0x22, 0xf, 0x8f, 0xe2, 0xf, 0x80, 0xa8 } }; + +class NOVTABLE svc_filerawreader : public Wasabi2::Dispatchable +{ +protected: + svc_filerawreader() : Dispatchable(DISPATCHABLE_VERSION) {} + ~svc_filerawreader() {} + +public: + static GUID GetServiceType() { return filerawreader_service_type_guid; } + int CreateRawMediaReader(ifc_raw_media_reader **reader, nx_uri_t filename, nx_file_t file, ifc_metadata *parent_metadata) { return FileRawReaderService_CreateRawMediaReader(reader, filename, file, parent_metadata); } + + enum + { + DISPATCHABLE_VERSION=0, + }; +protected: + virtual ns_error_t WASABICALL FileRawReaderService_CreateRawMediaReader(ifc_raw_media_reader **reader, nx_uri_t filename, nx_file_t file, ifc_metadata *parent_metadata)=0; +}; + |