00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _AFLIBAUDIORECORDER_H_
00024 #define _AFLIBAUDIORECORDER_H_
00025
00026 #ifdef HAVE_CONFIG_H
00027 #include <config.h>
00028 #endif
00029
00030
00031 #include "aflibAudio.h"
00032 #include "aflibDateTime.h"
00033 #include "aflibRecorderItem.h"
00034 #include <string>
00035 #include <list>
00036 using std::string;
00037 using std::list;
00038
00039
00079 class aflibConfig;
00080
00081
00082 class aflibAudioRecorder : public aflibAudio {
00083
00084 public:
00085
00086
00087 aflibAudioRecorder(aflibAudio& audio);
00088 aflibAudioRecorder();
00089 ~aflibAudioRecorder();
00090
00091 void
00092 addRecordItem(
00093 const aflibDateTime& start_date,
00094 const aflibDateTime& stop_date,
00095 const string& file,
00096 const string& file_type,
00097 long long max_limit,
00098 long long each_limit,
00099 aflibConfig& config);
00100
00101 void
00102 removeRecordItem(
00103 int item);
00104
00105 int
00106 getNumberOfRecordItems() const;
00107
00108 void
00109 getRecordItem(
00110 int item,
00111 aflibDateTime& start_date,
00112 aflibDateTime& stop_date,
00113 string& file,
00114 string& file_type,
00115 long long& max_limit,
00116 long long& each_limit,
00117 aflibConfig& config) const;
00118
00119 aflibStatus
00120 compute_segment(
00121 list<aflibData *>& data,
00122 long long position = -1) ;
00123
00125 const char *
00126 getName() const { return "aflibAudioRecorder";};
00127
00128 private:
00129
00130
00131 aflibAudioRecorder(const aflibAudioRecorder& op);
00132
00133 const aflibAudioRecorder&
00134 operator=(const aflibAudioRecorder& op);
00135
00136 bool
00137 audioFileSizeCheck(aflibRecorderItem& item);
00138
00139 list<aflibRecorderItem> _item_list;
00140
00141 };
00142
00143
00144 #endif