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