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