3 #ifndef SZA_UTIL_ARCHIVEFILEHANDLER_H
4 #define SZA_UTIL_ARCHIVEFILEHANDLER_H
18 #include "carma/szaarrayutils/archive.h"
19 #include "carma/szaarrayutils/arraymap.h"
20 #include "carma/szaarrayutils/monitor_stream.h"
21 #include "carma/szaarrayutils/netbuf.h"
22 #include "carma/szaarrayutils/netobj.h"
29 class ArchiveFileHandler :
public FileHandler {
40 ArchiveFileHandler(
const ArchiveFileHandler& objToBeCopied);
45 ArchiveFileHandler(ArchiveFileHandler& objToBeCopied);
50 void operator=(
const ArchiveFileHandler& objToBeAssigned);
55 void operator=(ArchiveFileHandler& objToBeAssigned);
60 friend std::ostream& operator<<(std::ostream& os, ArchiveFileHandler& obj);
65 virtual ~ArchiveFileHandler();
70 void openForRead(
bool memMap=
false);
72 ArrayMap* getArrayMap() {
79 sza::array::NetReadStr* nrs_;
81 int lastArrayMapSize_;
83 unsigned nFramesInFile_;
87 unsigned nBytesInMsgHeader_;
92 unsigned nBytesInFileHeader_;
98 unsigned nBytesInFrameMsg_;
103 unsigned offsetInBytesOfFrameUtcInArrayMap_;
107 void initializeNetReadStr();
111 sza::array::MsReadState readNextMsg();
123 void readTimestamps();
125 void advanceToFrame(
unsigned iFrame, off_t offset=0);
129 double getMjd(
unsigned iFrame);
134 unsigned findFirstFrameBefore(std::string date);
135 unsigned findFirstFrameAfter(std::string date);
148 #endif // End #ifndef SZA_UTIL_ARCHIVEFILEHANDLER_H
Tagged: Thu Jan 29 22:24:18 NZDT 2009.