00001 /* 00002 * Copyright: (C) 1999-2001 Bruce W. Forsberg 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 * 00018 * Bruce Forsberg forsberg@tns.net 00019 * 00020 */ 00021 00022 00023 #ifndef _AFLIBRECORDERITEM_H_ 00024 #define _AFLIBRECORDERITEM_H_ 00025 00026 #include "aflibDateTime.h" 00027 #include "aflibData.h" 00028 #include "aflibConfig.h" 00029 #include <string> 00030 00031 class aflibAudioFile; 00032 00033 00038 class aflibRecorderItem { 00039 00040 public: 00041 00042 aflibRecorderItem (); 00043 00044 aflibRecorderItem( 00045 const aflibDateTime start_date, 00046 const aflibDateTime stop_date, 00047 const string& file, 00048 const string& file_type, 00049 long long max_limit, 00050 long long each_limit, 00051 aflibConfig& config); 00052 00053 ~aflibRecorderItem(); 00054 00055 void 00056 setStartDate(const aflibDateTime& date1); 00057 00058 const aflibDateTime& 00059 getStartDate() const; 00060 00061 void 00062 setStopDate(const aflibDateTime& date1); 00063 00064 const aflibDateTime& 00065 getStopDate() const; 00066 00067 void 00068 setAudioFile(const string& file); 00069 00070 const string& 00071 getAudioFile() const; 00072 00073 void 00074 setAudioFileType(const string& file); 00075 00076 const string& 00077 getAudioFileType() const; 00078 00079 void 00080 setMaxFileLimit(long long size); 00081 00082 long long 00083 getMaxFileLimit() const; 00084 00085 void 00086 setEachFileLimit(long long size); 00087 00088 long long 00089 getEachFileLimit() const; 00090 00091 void 00092 setFileObject(aflibAudioFile * audio); 00093 00094 aflibAudioFile * 00095 getFileObject() const; 00096 00097 void 00098 setConfig(const aflibConfig& cfg); 00099 00100 const aflibConfig& 00101 getConfig() const; 00102 00103 void 00104 processNextFile(); 00105 00106 int 00107 getNumSegmentsSoFar(); 00108 00109 private: 00110 00111 00112 aflibDateTime _start_date; 00113 aflibDateTime _stop_date; 00114 string _file; 00115 string _base_file; 00116 string _file_type; 00117 long long _max_limit; 00118 long long _each_limit; 00119 aflibAudioFile * _audio_file; 00120 int _file_segment; 00121 aflibConfig _config; 00122 }; 00123 00124 #endif