00001 #ifndef Impala_Core_Stream_LavcProtocolDataServerImpl_h 00002 #define Impala_Core_Stream_LavcProtocolDataServerImpl_h 00003 00004 #include "Util/IOBufferChannel.h" 00005 #include "Core/Stream/LavcProtocolImpl.h" 00006 00007 namespace Impala 00008 { 00009 namespace Core 00010 { 00011 namespace Stream 00012 { 00013 00014 class LavcProtocolDataServerImpl : public LavcProtocolImpl 00015 { 00016 00017 public: 00018 00019 ~LavcProtocolDataServerImpl() 00020 { 00021 } 00022 00023 static int 00024 Open(URLContext* h, const char* url, int flags) 00025 { 00026 return LavcProtocolDataServerImpl().OpenTarget(h, url, flags); 00027 } 00028 00029 virtual Util::IOBuffer* CreateIOBuffer(String target) 00030 { 00031 return new Util::IOBufferChannel(target, true); 00032 } 00033 00034 private: 00035 00036 LavcProtocolDataServerImpl() 00037 { 00038 } 00039 00040 }; 00041 00042 } // namespace Stream 00043 } // namespace Core 00044 } // namespace Impala 00045 00046 #endif