aflibRecorderItem.h

Go to the documentation of this file.
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

Generated on Sat Feb 23 13:56:37 2008 for Open Source Audio Library Project by  doxygen 1.5.1