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
00027 #include "aflibAudio.h"
00028 #include "aflibDateTime.h"
00029 #include "aflibRecorderItem.h"
00030 #include <string>
00031 #include <list>
00032 #if __GNUC__ >= 3
00033 using std::string;
00034 using std::list;
00035 #endif
00036
00037
00077 class aflibConfig;
00078
00079
00080 class aflibAudioRecorder : public aflibAudio {
00081
00082 public:
00083
00084
00085 aflibAudioRecorder(aflibAudio& audio);
00086 aflibAudioRecorder();
00087 ~aflibAudioRecorder();
00088
00089 void
00090 addRecordItem(
00091 const aflibDateTime& start_date,
00092 const aflibDateTime& stop_date,
00093 const string& file,
00094 const string& file_type,
00095 long long max_limit,
00096 long long each_limit,
00097 aflibConfig& config);
00098
00099 void
00100 removeRecordItem(
00101 int item);
00102
00103 int
00104 getNumberOfRecordItems() const;
00105
00106 void
00107 getRecordItem(
00108 int item,
00109 aflibDateTime& start_date,
00110 aflibDateTime& stop_date,
00111 string& file,
00112 string& file_type,
00113 long long& max_limit,
00114 long long& each_limit,
00115 aflibConfig& config) const;
00116
00117 aflibStatus
00118 compute_segment(
00119 list<aflibData *>& data,
00120 long long position = -1) ;
00121
00123 const char *
00124 getName() const { return "aflibAudioRecorder";};
00125
00126 private:
00127
00128
00129 aflibAudioRecorder(const aflibAudioRecorder& op);
00130
00131 const aflibAudioRecorder&
00132 operator=(const aflibAudioRecorder& op);
00133
00134 bool
00135 audioFileSizeCheck(aflibRecorderItem& item);
00136
00137 list<aflibRecorderItem> _item_list;
00138
00139 };
00140
00141
00142 #endif