00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef DATAGRAMSINK_H
00016 #define DATAGRAMSINK_H
00017
00018 #include "pandabase.h"
00019
00020 #include "datagram.h"
00021
00022 class SubfileInfo;
00023 class FileReference;
00024 class Filename;
00025
00026
00027
00028
00029
00030
00031
00032 class EXPCL_PANDAEXPRESS DatagramSink {
00033 PUBLISHED:
00034 INLINE DatagramSink();
00035 virtual ~DatagramSink();
00036
00037 virtual bool put_datagram(const Datagram &data) = 0;
00038 virtual bool copy_datagram(SubfileInfo &result, const Filename &filename);
00039 virtual bool copy_datagram(SubfileInfo &result, const SubfileInfo &source);
00040 virtual bool is_error() = 0;
00041 virtual void flush() = 0;
00042
00043 virtual const Filename &get_filename();
00044 virtual const FileReference *get_file();
00045 virtual streampos get_file_pos();
00046 };
00047
00048 #include "datagramSink.I"
00049
00050 #endif
00051