Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Consumer_Impl.h

Go to the documentation of this file.
00001 00030 #ifndef CONSUMER_IMPL_H 00031 #define CONSUMER_IMPL_H 00032 00033 #include "BP_CosLw_Log.h" 00034 #include "LogState.h" 00035 #include "LogBrowser.h" 00036 #include "EvictionMngr.h" 00037 00051 class Consumer_Impl : 00052 public virtual POA_CosLwLog::LogConsumer, 00053 public virtual Evictable 00054 { 00055 00056 public: 00057 00069 Consumer_Impl( 00070 LogState& state, 00071 EvictionMngr& evictmngr, 00072 const std::string& consumer_id 00073 ); 00074 00079 virtual ~Consumer_Impl(); 00080 00081 00088 virtual CORBA::ULongLong get_max_size() 00089 throw(CORBA::SystemException); 00090 00097 virtual CORBA::ULongLong get_current_size() 00098 throw(CORBA::SystemException); 00099 00107 virtual CORBA::ULongLong get_n_records() 00108 throw(CORBA::SystemException); 00109 00116 virtual CosLwLog::LogFullAction get_log_full_action() 00117 throw(CORBA::SystemException); 00118 00125 virtual CosLwLog::AvailabilityStatus get_availability_status() 00126 throw(CORBA::SystemException); 00127 00134 virtual CosLwLog::AdministrativeState get_administrative_state() 00135 throw(CORBA::SystemException); 00136 00142 virtual CosLwLog::OperationalState get_operational_state() 00143 throw(CORBA::SystemException); 00144 00160 virtual CosLwLog::RecordId 00161 get_record_id_from_time(const CosLwLog::LogTime& from_time) 00162 throw(CosLwLog::InvalidParam, CORBA::SystemException); 00163 00181 virtual CosLwLog::LogRecordSequence* 00182 retrieve_records( 00183 CosLwLog::RecordId& recid, 00184 CORBA::ULong& how_many 00185 ) 00186 throw(CosLwLog::InvalidParam, CORBA::SystemException); 00187 00206 virtual CosLwLog::LogRecordSequence* 00207 retrieve_records_by_level( 00208 CosLwLog::RecordId& current_id, 00209 CORBA::ULong& how_many, 00210 const CosLwLog::LogLevelSequence& levels) 00211 throw(CosLwLog::InvalidParam, CORBA::SystemException); 00212 00237 virtual CosLwLog::LogRecordSequence* 00238 retrieve_records_by_producer_id( 00239 CosLwLog::RecordId& current_id, 00240 CORBA::ULong& how_many, 00241 const CosLwLog::StringSeq& value_list 00242 ) 00243 throw(CosLwLog::InvalidParam, CORBA::SystemException); 00244 00269 virtual CosLwLog::LogRecordSequence* 00270 retrieve_records_by_producer_name( 00271 CosLwLog::RecordId& current_id, 00272 CORBA::ULong& how_many, 00273 const CosLwLog::StringSeq& value_list 00274 ) 00275 throw(CosLwLog::InvalidParam, CORBA::SystemException); 00276 00277 00286 virtual bool evicted(); 00287 00288 private: 00289 00291 LogState& _state; 00292 00294 LogBrowser _browser; 00295 00297 EvictionMngr& _mngr; 00298 00300 const std::string _me; 00301 00316 void _collect_records(const CORBA::ULong& how_many, 00317 std::list<CosLwLog::LogRecord>& recd_list, 00318 const LogRecordFilter& filter 00319 ); 00320 00331 CosLwLog::RecordId _transfer_records( 00332 CosLwLog::LogRecordSequence_var& recd_seq, 00333 std::list<CosLwLog::LogRecord>& recd_list 00334 ); 00335 }; 00336 #endif