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 00027 #ifdef HAVE_CONFIG_H 00028 #include <config.h> 00029 #endif 00030 00031 #include "aflibDateTime.h" 00032 #include "aflibData.h" 00033 #include "aflibConfig.h" 00034 #include <string> 00035 00036 class aflibAudioFile; 00037 00038 00043 class aflibRecorderItem { 00044 00045 public: 00046 00047 aflibRecorderItem (); 00048 00049 aflibRecorderItem( 00050 const aflibDateTime start_date, 00051 const aflibDateTime stop_date, 00052 const string& file, 00053 const string& file_type, 00054 long long max_limit, 00055 long long each_limit, 00056 aflibConfig& config); 00057 00058 ~aflibRecorderItem(); 00059 00060 void 00061 setStartDate(const aflibDateTime& date1); 00062 00063 const aflibDateTime& 00064 getStartDate() const; 00065 00066 void 00067 setStopDate(const aflibDateTime& date1); 00068 00069 const aflibDateTime& 00070 getStopDate() const; 00071 00072 void 00073 setAudioFile(const string& file); 00074 00075 const string& 00076 getAudioFile() const; 00077 00078 void 00079 setAudioFileType(const string& file); 00080 00081 const string& 00082 getAudioFileType() const; 00083 00084 void 00085 setMaxFileLimit(long long size); 00086 00087 long long 00088 getMaxFileLimit() const; 00089 00090 void 00091 setEachFileLimit(long long size); 00092 00093 long long 00094 getEachFileLimit() const; 00095 00096 void 00097 setFileObject(aflibAudioFile * audio); 00098 00099 aflibAudioFile * 00100 getFileObject() const; 00101 00102 void 00103 setConfig(const aflibConfig& cfg); 00104 00105 const aflibConfig& 00106 getConfig() const; 00107 00108 void 00109 processNextFile(); 00110 00111 int 00112 getNumSegmentsSoFar(); 00113 00114 private: 00115 00116 00117 aflibDateTime _start_date; 00118 aflibDateTime _stop_date; 00119 string _file; 00120 string _base_file; 00121 string _file_type; 00122 long long _max_limit; 00123 long long _each_limit; 00124 aflibAudioFile * _audio_file; 00125 int _file_segment; 00126 aflibConfig _config; 00127 }; 00128 00129 #endif